इस उत्तर में कई त्रुटियां हैं और यह भी पुराना है। कृपया अन्य प्रश्न / उत्तर और टिप्पणी देखें।
nonatomic
nonatomic
बहु सूत्रण प्रयोजनों के लिए उपयोग किया जाता है। यदि हमने घोषणा के समय गैर-परमाणु विशेषता निर्धारित की है, तो उस वस्तु तक पहुंचने वाला कोई अन्य धागा इसे एक्सेस कर सकता है और बहु-थ्रेडिंग के संबंध में परिणाम दे सकता है।
प्रतिलिपि
copy
आवश्यक है जब वस्तु परस्पर है। यदि आपको इस समय वस्तु के मूल्य की आवश्यकता है, तो इसका उपयोग करें, और आप यह नहीं चाहते कि वस्तु के अन्य मालिकों द्वारा किए गए परिवर्तनों को प्रतिबिंबित किया जाए। जब आप इसके साथ समाप्त हो जाते हैं तो आपको उस वस्तु को जारी करना होगा, क्योंकि आप प्रतिलिपि बनाए रख रहे हैं।
असाइन
Assign
के विपरीत है copy
। assign
प्रॉपर्टी के गेट को कॉल करते समय , यह वास्तविक डेटा का एक संदर्भ देता है। आमतौर पर आप इस विशेषता का उपयोग तब करते हैं जब आपके पास आदिम प्रकार की संपत्ति होती है (फ्लोट, इंट, BOOL ...)
को बनाये रखें
retain
आवश्यक है जब विशेषता एक वस्तु के लिए एक सूचक है। द्वारा सेट किया गया सेटर @synthesize
वस्तु को बनाए रखेगा (उर्फ एक रिटेन काउंट को जोड़ेगा)। जब आप इसे पूरा कर लेंगे तो आपको ऑब्जेक्ट को रिलीज़ करना होगा। रिटेन का उपयोग करके यह रिटेन काउंट बढ़ाएगा और ऑटोरेलिज पूल में मेमोरी पर कब्जा कर लेगा।
बलवान
strong
ऑब्जेक्टिव-सी ऑटोमेटेड रेफरेंस काउंटिंग (ARC) के हिस्से के रूप में रिटेन विशेषता के लिए एक प्रतिस्थापन है। गैर-एआरसी कोड में यह केवल बनाए रखने के लिए एक पर्याय है।
IOS 5 के बारे में strong
और जानने के लिए यह एक अच्छी वेबसाइट है weak
।
http://www.raywenderlich.com/5677/beginning-arc-in-ios-5-part-1
कमज़ोर
weak
के समान है strong
सिवाय इसके कि यह 1. द्वारा संदर्भ गिनती में वृद्धि नहीं होगी ऐसा नहीं है कि वस्तु के स्वामी बनने नहीं करता, लेकिन अभी के लिए एक संदर्भ रखती है। यदि ऑब्जेक्ट का रेफरेंस काउंट 0 पर गिर जाता है, भले ही आप अभी भी इसे यहां इंगित कर रहे हों, तो इसे मेमोरी से हटा दिया जाएगा।
उपरोक्त लिंक में कमजोर और मजबूत दोनों के बारे में अच्छी जानकारी है ।