如果命令错误,对象为零

时间:2015-01-15 14:04:47

标签: ios objective-c null

我有这段代码:

if (self.leadObject != nil) {
    [result addObject:self.leadObject];
}

有时app会因此错误而关闭:

  

*由于未捕获的异常终止应用' NSInvalidArgumentException',原因:' * - [__ NSArrayM   insertObject:atIndex:]:object不能为nil'

执行传递if命令并尝试在self.leadObject数组内添加对象result,尽管此对象为nil。 有人能解释一下吗??

更新

  

*由于未捕获的异常终止应用' NSInvalidArgumentException',原因:' * - [__ NSArrayM   insertObject:atIndex:]:object不能为nil' ***先打电话   堆栈:(0x2ca8af87 0x3a1e9c77 0x2c9a6f29 0x1777ff 0x177a6f 0x177b7f   0x1779df 0x17446d 0xa1cdd 0xa7933 0x46cad3 0x46cabf 0x47051b   0x2ca50e61 0x2ca4f581 0x2c99cdb1 0x2c99cbc3 0x33d28051 0x2ff68a31   0xadb45 0x3a785aaf)libc ++ abi.dylib:以未捕获终止   NSException类型的异常

1 个答案:

答案 0 :(得分:-2)

我怀疑你没有分配你的结果对象。如果你没有这样做,然后记录self.leadObject以确保它不是NSNull

if (self.leadObject) {
    NSLog(@"%@", self.leadObject);
    [result addObject:self.leadObject];
}