- (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;
}