Xcode 3.2のiPhone-SDK 3.1では、どうすれば“ Dead store”を避けることができますかCLANGアナライザーからのエラー?

StackOverflow https://stackoverflow.com/questions/1420133

質問

Xcode 3.2にアップグレードしたばかりで、ビルドおよび分析機能を使用して古いコードのエラーをチェックしています。

無害だと思った何かをしているときに、このエラーが表示されます:

"デッドストア:初期化中に「newBook」に保存された値はSpellTest.m"で読み込まれることはありません

#define kSpellBookFilename @"TestBookSaver"

-(void)testBookLoadFromDisk;
{
    // restore object from disk
    SpellBook *newBook = [[[SpellBook alloc] init] autorelease];
    newBook = [NSKeyedUnarchiver unarchiveObjectWithFile:kSpellBookFilename];

    // show restored object
    NSLog(@"archived copy %@", newBook);
}

このオブジェクトを間違って初期化していますか、これは誤検知ですか?

役に立ちましたか?

解決

これはデッドストアです。次の行で破棄するだけで、最初のコード行で新しいSpellBookオブジェクトを初期化するのはなぜですか?最初の行を削除するだけです(そして、型宣言を2番目の行に移動します)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top