В Xcode 3.2 под iPhone-SDK 3.1 как избежать ошибки "Мертвого хранилища" из анализатора CLANG?
Я только что обновился до Xcode 3.2 и использую функцию Build and Analyze для проверки старого кода на наличие ошибок.
Делая то, что я считал безобидным, я получаю эту ошибку:
"Мертвое хранилище: значение, сохраненное в" 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 ответ
Решение
Это мертвый магазин. Почему вы даже инициализируете новый объект SpellBook в первой строке кода, когда просто выбрасываете его в следующей строке? Просто удалите первую строку (и переместите объявление типа во вторую).