0

我从 JSON 中获取一个数组,并将其解析为一个NSMutableArray(这部分是正确的并且有效)。我现在想获取该数组并将第一个对象打印到标签。这是我的代码:

NSDictionary *title = [[dictionary objectForKey:@"title"] objectAtIndex:2];
arrayLabel          = [title objectForKey:@"label"];
NSLog(@"arrayLabel = %@", arrayLabel); // Returns correct 

//Here is where I need help

string = [arrayLabel objectAtIndex:1]; //I do not get the first label (App crashes)
NSLog(@"string = %@", string);

我已经尝试过的其他事情如下:

string = [NSString stringWithFormat:@"%@", [arrayImage objectAtIndex:1]];

string = [[NSString alloc] initWithFormat:@"%@", [arrayImage objectAtIndex:1]];

非常感谢任何帮助!

编辑:该应用程序不返回单个值并崩溃。

4

2 回答 2

1

您的代码与 JSON 的结构不匹配。在您对已删除答案的评论中,您说您在发送objectAtIndex:NSString. 在您的情况下,arrayLabel当您认为它不是数组时。

如果您的 JSON 有一个对象,您的代码需要将其视为NSDictionary. 同样适用于数组 andNSArray和字符串 and NSString

于 2013-03-09T00:23:37.883 回答
1

除了发生的任何其他事情之外,您反复引用“first”,但使用索引 1。在大多数基于 C 的编程语言(以及其他语言)中,约定是数组的索引是从 0 开始的。因此,使用索引 0 来获取第一个元素。

于 2013-03-09T03:23:43.723 回答