在iPhone-SDK 3.1下的Xcode 3.2中,如何避免来自CLANG分析器的“Dead store”错误?

问题描述:

我刚升级到Xcode 3.2并使用Build and Analyze功能来检查旧代码是否有错误。在iPhone-SDK 3.1下的Xcode 3.2中,如何避免来自CLANG分析器的“Dead store”错误?

虽然做的事情我认为是无害的,我得到这个错误:

“死店:在它的初始化从未在SpellTest.m读取存储于‘newBook’值”

#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对象,当你把它放在下一行时呢?只需删除第一行(并将类型声明移至第二行)。

+0

DOH !!!!我知道对于本地对象是这样的,但我不知何故将自定义对象首先分配/插入。我是一个Obj-C noob,但回想起来这很愚蠢。谢谢你,我刚刚升上一级。 – willc2 2009-09-14 07:41:55