我不断得到Clang错误的代码,我不明白为什么他们是错误的,或者如何解决他们克朗的满意度: + (NSString *)checkForLength: (NSString *)theString error: (NSError **)error { BOOL hasLength = ([theString length] > 0); if (hasLength) return theString; else { *error = [NSError errorWithDomain:@"ErrorDomain" code:hasLength userInfo:nil]; return nil; } } 撇开这个例子的完全devise的本质(Clang所反对的,所以这个例子足够说明问题),Clang在错误分配线上抱怨以下的反对意见: 潜在的空解除。 根据“创build和返回NSError对象”中的编码标准,参数“错误”可能为空。 我喜欢有一个原始的Clang报告。 我已阅读引用的文件,我不能看到一个方法去做预期的事情; 我查了一些开源的Cocoa库,这似乎是一个常见的习惯用法。 有任何想法吗?