هل من الضروري تعيين مؤشرات على لا شيء في الهدف-C بعد الإصدار؟

StackOverflow https://stackoverflow.com/questions/803531

  •  03-07-2019
  •  | 
  •  

سؤال

هل هناك أي خطأ في فعل شيء مثل

NSString * string = [ [ NSString alloc ] init ];
...
[ string release ];

أم أن هناك أي قيمة (بخلاف أفضل الممارسات) في الإضافة أيضًا

string = nil;

?

هل كانت مفيدة؟

المحلول

ليس من الضروري ، ولكن ممارسة جيدة. إذا كنت ترغب في الرجوع إليها عن غير قصد بعد الإصدار ، فقد تحدث الأشياء السيئة ، ولكن في الهدف C ، لا يوجد أي ضرر في الرجوع إلى شيء.

نصائح أخرى

يعد تعيين متغير مثيل إلى NIL أكثر فائدة في تطبيق متعدد الخيوط من التسلسل المفرد ، لأنه مع وجود عدة مؤشرات ترابط قبل تم إصداره.

عمومًا لا أزعجني في تطبيقات واحدة ، ما لم يكن هناك سبب مقنع آخر.

الهدف-C هو في الحقيقة مثل C مع معالج مسبق يتوهم.

إن تعيين مؤشر إلى NIL في Objective-C ليس له أي تأثير على ما أشار إليه هذا المؤشر مرة واحدة.

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