代码之家  ›  专栏  ›  技术社区  ›  willc2

在iPhone SDK 3.1下的Xcode3.2中,如何避免clang analyzer出现“死存储”错误?

  •  2
  • willc2  · 技术社区  · 16 年前

    我刚升级到Xcode3.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);
    }
    

    我初始化这个对象是错误的还是错误的?

    1 回复  |  直到 16 年前
        1
  •  5
  •   Ringding    16 年前

    这是一家死商店。为什么您甚至在第一行代码中初始化一个新的拼写簿对象,而在下一行代码中却将其丢弃?只需删除第一行(并将类型声明移到第二行)。