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