2010-06-06 64 views
2

我知道我一定是過於複雜,是因爲它NSTimeInterval僅僅是一個雙,但我似乎無法得到這個得當,因爲我已經很少接觸到目標C 。情景如下:轉換數字的字符串到NSTimeInterval

數據IM拉入該應用包含兩個值,開始時間和endTime,這是在毫秒的信號出現時間。我想抱着這些值的變量是 NSTimeInterval *start; NSTimeInterval *end;

我決定把它們存儲爲NSTimeIntervals但即時思維,也許我應該將其保存爲NSTimeIntervals雙打,因爲世界上沒有必要,因爲比較可以只具有基本完成。無論哪種方式,我想知道我失蹤在下面的步驟,在這裏我嘗試轉換從字符串到NSTimeInterval:

tempString = [truckArray objectAtIndex:2]; 
    tempDouble = [tempString doubleValue]; 

現在它安全地存儲爲雙,但我不能讓將該值轉換爲NSTimeInterval。這應該如何完成?由於

回答

11

你沒有投,你可以這樣寫:

NSTimeInterval timeInterval = [[truckArray objectAtIndex:2] doubleValue]; 

演員不用,和額外的強制轉換隻是讓你的源代碼更難更新,並在未來的變化,因爲你」 VE告訴編譯器不要鍵入檢查你的鑄造表達式。

2

,我想保持這些值的變量是NSTimeInterval *start; NSTimeInterval *end;

小心,NSTimeInverval爲原始C類一個typedef,它不是一個Objective-C的對象。我不認爲你真的需要指向這些類型在這種情況下,所以你應該聲明他們是這樣的:

NSTimeInverval start; 
NSTimeInterval end; 

你可能會得到因爲在C錯誤,你不能轉換浮點類型指針 - 類型。