【问题标题】:Add NSDictionary items to NSMutableAray将 NSDictionary 项添加到 NSMutableAray
【发布时间】:2014-10-21 13:40:25
【问题描述】:

如何将 NSDictionary 项插入到 NSMutableAray 并获得计数。

- (void)viewDidLoad{

    storeList = [[NSMutableArray alloc] init];
        SBJsonParser *parser = [[SBJsonParser alloc] init];
    NSDictionary *jsonObject = [parser objectWithString:strResponseData error:NULL];
    NSArray *list = [jsonObject objectForKey:@"NAME"];
    for (NSDictionary *lesson in list){
        [listArray addObject:[lesson objectForKey:@"VALUE"]];
    }
    NSLog(@"Count %d",[listArray count]);
}

崩溃日志

***** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“* -[__NSArrayM insertObject:atIndex:]: object cannot be nil” * 首先抛出调用栈:**

上面的代码我已经为我完成了它的崩溃。

【问题讨论】:

  • 您的 JOSN 或解析存在问题。当您调用[lesson objectForKey:@"VALUE"] 时,返回的是nil,不能添加到数组中。

标签: objective-c nsmutablearray nsdictionary


【解决方案1】:

问题不是无法将NSDictionary 存储到数组中,而是插入一个nil 的对象。

你的解析要么在某个时候没有通过,要么你没有得到你期望的对象,所以我会设置一些断点并检查你正在处理的对象到底是什么,以及里面存储了什么。

此外,您还没有在任何地方初始化您的 listArray,这也可能是另一个问题。

【讨论】:

  • 谢谢,我已经交叉检查了我的 JSON 对象,其中缺少一个属性。
猜你喜欢
  • 1970-01-01
  • 2011-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-25
  • 1970-01-01
相关资源
最近更新 更多