IOS [__ NSPlaceholderArray initWithObjects:count:]:尝试从对象[0]中插入nil对象

时间:2013-05-03 18:28:16

标签: ios uitableview nsarray tableview

我正在尝试创建像facebook这样的动态幻灯片菜单。

我必须从json请求中获取一些数据。并在幻灯片表视图的其中一个部分中显示此数据。 我是objective-c的新手,我也尝试过使用NSMutableArrays,我遇到了一个错误。 在其他表视图中,我做同样但没有部分。只有一个MutableArray,我可以显示表格。

我这样做:

-(void) requestJSONFinishedWithParsedObject:(NSDictionary *)parsedObject{


  NSArray  *projectsObjectArray = [parsedObject objectForKey:@"projects"];

    [self createMainNavigationController];
    self.section1 = [NSArray arrayWithObjects:@"Profile", @"Notifications", @"Exit", nil];
    self.section2 = [NSArray arrayWithObjects:@"Main", nil];


    for (NSDictionary *projectObject in projectsObjectArray)
    {
        Project *newProject = [[Project alloc] init];

        newProject.title= [projectObject objectForKey:@"title"];

        self.section3 = [NSArray arrayWithObject:newProject.title];
    }

    self.menu = [NSArray arrayWithObjects:self.section1, self.section2, self.section3, nil];
    [menuTableView reloadData];
}

我遇到了这个错误:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[0]'

1 个答案:

答案 0 :(得分:9)

这是因为

newProject.title= [projectObject objectForKey:@"title"];

是nil,您正在尝试将其添加到数组中。通过记录来检查该值是什么

NSLog(@"%@", [projectObject objectForKey:@"title"]);