उत्तर

8

कोई प्रति llvm document on ARC

स्वत: संदर्भ गिनती के रूप में, ऑब्जेक्टिव-सी वस्तुओं और ब्लॉकों के लिए स्वचालित स्मृति प्रबंधन को लागू करता है की जरूरत से प्रोग्रामर को मुक्त कराने के स्पष्ट रूप से सम्मिलित बरकरार रखे हुए है और विज्ञप्ति। यह एक चक्र कलेक्टर प्रदान नहीं करता है; उपयोगकर्ताओं को स्पष्ट रूप से जीवन भर का प्रबंधन करना चाहिए।

और

एक retainable वस्तु सूचक (या retainable सूचक) एक retainable वस्तु सूचक प्रकार (retainable प्रकार) के एक मूल्य है। retainable वस्तु सूचक प्रकार के तीन प्रकार के होते हैं:

  • ब्लॉक संकेत
  • ऑब्जेक्टिव-सी वस्तु संकेत (आईडी, क्लास, NSFoo * (एक समारोह प्रकार के कैरेट (^) declarator sigil लागू करने के द्वारा गठित), आदि)
  • typedefs __attribute __ ((NSObject))

इस तरह के पूर्णांक * और CFStringRef के रूप में अन्य सूचक प्रकार, के साथ चिह्नित, एआरसी के अर्थ विज्ञान और प्रतिबंधों के अधीन नहीं हैं।

3

एआरसी सीधे केवल ObjC वस्तुओं जारी (नहीं char*, void*, int* ...)। हालांकि एआरसी अभी भी वस्तुओं की dealloc विधि कहते हैं। तो यदि आपके पास ओबीजेसी ऑब्जेक्ट है जो malloc कुछ मेमोरी है और उस पर एक char * इंगित करता है, और डेलोक विधि निःशुल्क कॉल करती है कि स्मृति अभी भी ठीक से निपटान हो जाएगी।

कोर फाउंडेशन ऑब्जेक्ट्स के लिए, आपको अभी भी CFRelease की आवश्यकता है। यहां तक ​​कि टोल फ्री ब्रिज सीएफ प्रकारों को मैन्युअल कॉल CFRelease पर चाहिए।

संबंधित मुद्दे