【问题标题】:Array count is 0 directly after calling addObject调用 addObject 后数组计数直接为 0
【发布时间】:2012-01-12 18:42:28
【问题描述】:

为什么 self.array 有 N 个元素,for 循环执行了 N 次,otherArray 的计数还是 0?

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

self.otherArray 是一个 NSMutableArray*

稍后:Doh!,忘记调用 alloc/init(我来自一种语言,如果需要,相当于 addObejct 将创建数组)。

【问题讨论】:

标签: iphone objective-c ios


【解决方案1】:

最佳猜测:您没有正确初始化self.otherArray

次优猜测:self.otherArray 不可变。

通过发布您的初始化代码对此进行测试。

【讨论】:

  • Doh,没有调用 alloc/init(我来自一种语言,如果需要,调用 addObject 的等价物也会创建数组。)
  • @Mungbeans 这个错误你并不孤单。如果这不能解决问题,请告诉我。
【解决方案2】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-18
    • 1970-01-01
    • 2011-04-10
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多