0

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

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

4

2 回答 2

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);
于 2013-01-02T03:40:03.790 回答
1

此错误表明其中的第一个对象arrayNSString.

是否有任何代码向所述数组添加字符串?

如果第一个对象array是字典,那么您的代码就可以了。

于 2013-01-02T03:40:22.633 回答