سؤال

وفق آخر مكدس تجاوز الفضاء ال drain الرسالة هي استدعاء التفاح فقط:

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog (@"Hello");
[pool drain];
return 0;

هل هو آمن للاستبدال drain مع releaseب أحاول ميناء تطبيق موضوعي لتشغيله على Linux (Ubuntu في الوقت الحالي). يجب أن أستسلم حتى قبل أن بدأت؟ (أقصد بالفعل محاولة الحصول عليها NSURLConnection عمل)

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

المحلول

من وثائق أبل drain:

...] هذه الطريقة تتصرف نفس الإصدار. [...

وبالتالي فإن استنزاف تجمع Autorelease يعني تلخيصه حتما. في رأيي، يجب أن تنفس أبل drain لأنه يخلق فقط الارتباك.

ولكن:

إعتبارات خاصة:
في بيئة جمع القمامة، releaseهو عدم المرجع، لذلك ما لم تكن تريد إعطاء جامع تلميح، فمن المهم استخدامه drain في أي رمز قد يتم تجميعه لبيئة جمع القمامة.

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