次のタイプのコードでClangエラーが発生し続けますが、それらがエラーである理由や、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;
}
}
例の完全に工夫された性質(Clangが反対したので、十分に説明的です)は別として、Clangは次の異議を唱えてエラー割り当て行を無視します。
潜在的なnull逆参照。「オブジェクトの作成と返却」のコーディング標準によると
NSError
、パラメータ「エラー」はnullになる可能性があります。
手付かずのClangレポートを作成するのが好きです。引用された文書を読みましたが、期待どおりの方法がわかりません。いくつかのオープンソースのCocoaライブラリをチェックしましたが、これは一般的なイディオムのようです。何か案は?