空指针解引用会崩溃

 

- (BOOL)doSomeThing:(NSError **)err {

 

    *err = [NSErrorerrorWithDomain:@"123"code:101userInfo:nil];

    returnYES;

}

 

如果调用方不关心错误输出放回,这样调用会崩溃,[self doSomeThing:nil];

 

所以在解引用之前要判断一下if(err)再解引用。

 

 int * p = nil;

 *p = 6;//也会崩溃

Thread 1: EXC_BAD_ACCESS (code=1, address=0x0)

 

还有block当中的strongself也要注意,需要判nil。

^{

    strongself->xxxxx;

    strongself->yyyyy;

}

你可能感兴趣的:(ios开发中的问题)