未使用の変数警告が発生する理由を正確に理解しています。それらはほとんどの場合信じられないほど役立つので、私はそれらを一般的に抑制したくありません。ただし、次の(考案された)コードを検討してください。
NSError *error = nil;
BOOL saved = [moc save:&error];
NSAssert1(saved, @"Dude!!1! %@!!!", error);
Xcode saved
は、使用されていない変数であることを報告しますが、もちろんそうではありません。これはNSAssert1
マクロだからだと思います。NS_BLOCK_ASSERTIONS
マクロがされていないのObjective Cのアサーションは間違いなく有効になっているので、定義されました。
何も害はありませんが、乱雑で煩わしいので、抑制したいのですが、どうすればよいかわかりません。変数をそれ自体に割り当てると、コンパイラの警告は表示されなくなりますが、そのようなことが存在する場合は、「正しい」方法で行う方がよいでしょう。
'saved' was marked as unused but was used