我尝试从现有填充数组中填充数组,但有时会出现此错误:
*** -[__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 的方法可以从多个线程调用;