如何在Objective-C中访问另一个数组中的数组索引

时间:2013-01-02 03:32:14

标签: objective-c xcode indexing nsarray

我有这个数组,我想访问另一个数组中的第一个索引。

(
    (
        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。

2 个答案:

答案 0 :(得分:6)

您遇到的问题是arrayarray中的第一个元素是字符串。

将其分开并逐步调试,以确保正确加载和访问数组:

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中的第一个对象是字典,那么您的代码就可以了。