【发布时间】:2013-01-18 06:52:49
【问题描述】:
我尝试从现有填充数组中填充数组,但有时会出现此错误:
*** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[4830]
此代码行导致的异常:
NSArray *result = [NSArray arrayWithArray:self.testerLog];
testerLog 是 NSMutableArray,我用它从 App 收集日志。 下一条填充测试员日志:
[self.testerLog addObject:[NSString stringWithFormat:@"%@: %@ \n", [NSDate date], logRecord]];
它怎么会发生?当我将对象添加到 testerLog 并且尝试从此填充数组填充数组时失败时也不例外?
编辑: 关于初始化 testerLog。下面是 testerLog 方法的代码:
- (NSMutableArray *)testerLog {
if (!_testerLog) {
_testerLog = [NSMutableArray array];
}
return _testerLog;
}
所以我认为它不应该是零。
更新: 我忘了说将 NSString 添加到 testerLog 的方法可以从多个线程调用;
【问题讨论】:
-
self.testerLog为零吗?你有没有初始化它? -
@KurtRevis,在主帖中添加了初始化方法。错误还说不能插入 4830 对象,因为它是零。 testerLog 不应该是零。这就是为什么它对我来说如此奇怪