调用addObject后,数组计数直接为0

时间:2012-01-12 18:42:28

标签: iphone objective-c ios

为什么otherAarray的计数为0,即使self.array有N个项目且for循环执行N次?

for (MyObject *obj in self.array) 
{
    [self.otherArray addObject:obj];
    NSLog(@"Num items: %d", [self.otherArray count]);
} 

self.otherArray是一个NSMutableArray *

LATER:Doh !,忘了调用alloc / init(我来自一种语言,相当于addObejct会在必要时创建数组)。

2 个答案:

答案 0 :(得分:2)

最佳猜测:您尚未正确初始化self.otherArray

第二个最佳猜测:self.otherArray不可变。

通过发布初始化代码来测试。

答案 1 :(得分:0)

在这种情况下,最常见的原因是如果未初始化self.otherArray。如果你给self.otherArray添加一个检查,我会怀疑它是零。如果您添加:

self.otherArray = [[NSMutableArray alloc] init];

在其他代码之前,我怀疑它会按预期工作。