NSMutableArray是零。为什么?

时间:2012-12-25 14:17:12

标签: iphone objective-c nsarray

在我向NSMutableArray添加对象后,它变为nil(我在NSLog中查看)


代码

guests = [[NSMutableArray alloc]init];
guests = [localDictionary objectForKey:@"guestsArray"];

[guests addObject:@"1"];
[guests addObject:@"12"];
[guests addObject:@"31"];

if(guests == nil)
{
    NSLog(@"WHY?");
}

你有什么想法为什么会这样吗?我该怎么检查?

2 个答案:

答案 0 :(得分:8)

这是因为[localDictionary objectForKey:@"guestsArray"]是零。

答案 1 :(得分:3)

您在第一行创建一个NSMutableArray,然后使用从字典中取出的对象重新分配该变量。

如果您想使用guestsArray键从localDictionary中的对象添加对象,请改用:

guests = [[NSMutableArray alloc] initWithArray:[localDictionary objectForKey:@"guestsArray"]];

即使你的“guestsArray对象”在localDictionary中不存在,你的来宾数组也不会是零。