2013-08-02 83 views
0

我有一個數組,其內容是id類型的對象,但我需要將它們轉換爲類型in t。有什麼辦法可以讓陣列讀取數據爲ints,或者將id變成int如何將int轉換爲id?

NSArray *array = [string componentsSeparatedByString:@"\n"]; 

    int foo = array[0]; /*Warning: Incompatible pointer to integer conversion initializing 'int' with an expression of type 'id' */ 

回答

4

componentsSeparatedByString:文檔表示:

返回值

含有從已經由隔板劃分所述接收機的子串的NSArray對象。

所以你的fileContents包含一個NSStrings的數組。 fileContents[0]然後是陣列中的第一個NSString實例。你可以通過調用

[string intValue]; 
[string integerValue]; 

所以,你的代碼應該是這樣的轉換NSStringint或最好NSInteger(假設數組包含至少1對象,不要忘記檢查這一點):

int object1 = [fileContents[0] intValue]; 

或者更好的包括類型轉換以獲得更好的代碼可讀性

int object1 = [(NSString *)fileContents[0] intValue]; 
2

您應該使用intValue轉換爲int

int object1 = [fileContents[0] intValue];