يقوم ios بتهيئة مثيل داخل دالة لاستخدامه في الخارج
-
29-10-2019 - |
سؤال
أخبرني محلل xcode أن الطريقة تعرض كائن Objective-C مع احتفاظ +1 بعدد:
لكن self.athletes هو كائن أحتاجه أيضًا خارج وظيفتي ... كيف يمكنني حل هذا التحذير؟ شكرا مرة أخرى
يعلن الرياضيون هكذا: Genacodicetagpre
المحلول
استبدل هذا السطر بهذا الخط: Genacodicetagpre
لقد كتبت شرحًا كاملاً هنا: إدارة الذاكرة للخصائص التي لها سمة الاحتفاظ
نصائح أخرى
نظرًا لأن الخاصية الخاصة بك محددة بـ "احتفاظ" ، فإن استخدام تدوين النقطة سينتج عنه احتفاظ إضافي.يحتوي العائد من [[تخصيص NSMutableArray] init] على عدد احتفاظ قدره 1 ، وبعد ذلك عند تعيين الخاصية باستخدام وظيفة setter التي تم إنشاؤها بواسطة إعلان الخاصية ، سيكون لها عدد احتفاظ يبلغ 2.
لإصلاح إما: Genacodicetagpre
أو يمكنك أيضًا القيام بما يلي: Genacodicetagpre
هناك طريقة جيدة للتعامل مع هذا (وقد استخدمت هذا النمط بالفعل أثناء إنشاء واجهة المستخدم).
NSMutableArray * athesTemp= [[تخصيص NSMutableArray] init]؛
self.athletes= AthletesTemp؛
[إصدار الرياضيين] ؛
هنا لست بحاجة إلى حمل حمولة كائن التحرير التلقائي.