我有这个数组,我想访问另一个数组中的第一个索引。
(
(
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。
答案 0 :(得分:6)
您遇到的问题是array
或array
中的第一个元素是字符串。
将其分开并逐步调试,以确保正确加载和访问数组:
NSArray *array = [NSArray /* load from somwhere */];
NSLog(@"%@", array);
NSArray *innerArray = [array objectAtIndex:0];
NSLog(@"%@", innerArray);
NSNumber *objectId = [innerArray objectAtIndex:0];
NSLog(@"%@", objectId);
答案 1 :(得分:1)
此错误表示array
中的第一个对象是NSString
。
是否有任何代码将字符串添加到所述数组?
如果array
中的第一个对象是字典,那么您的代码就可以了。