2

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);
}

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

4

1 に答える 1

5

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

于 2009-09-14T07:33:19.953 に答える