2013-01-02 26 views
0

我有這樣的陣列,我想訪問另一個數組中的第一個指數。如何另一個數組中訪問數組的索引在Objective-C

(
    (
     1021, 
     "String1, 
     "<null>", 
     "name1, name2", 
     P, 
     "String2", 
     "Link1", 
     "String3", 
     "String4" 
    ), 
    (
     1025, 
     "String1", 
     "<null>", 
     "name1, name2" 
     P, 
     "String2", 
     "Link1", 
     "String3", 
     "String4" 
    ) 
) 

我試過的NSLog使用此代碼:

NSLog(@"ID: %@", [[array objectAtIndex:0] objectAtIndex:0]); 

但它不工作。它給了我一個錯誤說:

-[__NSCFString objectAtIndex:]: unrecognized selector sent to instance 

我只是想記錄的價值1021的第一陣列的第一陣列英寸任何幫助,將不勝感激。

回答

5

你所面對的問題是,無論是arrayarray的第一個元素是一個字符串。

分離出來,並與調試器步,以確保該陣列被加載並正確地訪問:

NSArray *array = [NSArray /* load from somwhere */]; 
NSLog(@"%@", array); 

NSArray *innerArray = [array objectAtIndex:0]; 
NSLog(@"%@", innerArray); 

NSNumber *objectId = [innerArray objectAtIndex:0]; 
NSLog(@"%@", objectId); 
1

該錯誤表明在array所述第一對象是NSString

是否有任何代碼添加一個字符串到所述陣列?

如果array的第一個對象是一個字典,你的代碼會好起來的。

相關問題