XCode を 4.6 にアップグレードしてからの新しいコンパイラ警告:
最後の行の両方で警告を示す最小の例:
for (NSUInteger i = 0; i < 10; i++) {
NSString *res = [testInstance generate:i];
NSString *desc = [NSString stringWithFormat:@"TestData: %d", i];
STAssertNotNil(res, desc);
STAssertNotEquals(@"", res, desc);
}
この警告に関する他の質問を調べましたが、それらはプログラマーが不必要に使用したことに起因していstringWithFormat:
ます。ここでは、チェックごとではなく反復ごとに変化する動的アサート記述が必要です。
書式文字列とデータを Assert に渡すことはできますが、説明を個別に維持する必要があります。
ログメッセージまたはアサートコールで使用する前に説明のフォーマットが必要な場合、この警告を回避するにはどうすればよいですか?