في Xcode 3.2 ضمن iPhone-SDK 3.1، كيف أتجنب خطأ "المتجر الميت" من محلل 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 جديد في سطر التعليمات البرمجية الأول عندما تقوم برميه بعيدًا في السطر التالي؟ما عليك سوى إزالة السطر الأول (ونقل تعريف النوع إلى السطر الثاني).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top