2011-07-14 15 views
78

मैं डेवलपर्स के लिए एक्सकोड बीटा का उपयोग कर रहा हूं, और कुछ सूक्ष्म मतभेदों को देख रहा हूं। उनमें से घोषित संपत्तियों के लिए एक नई विशेषता है।मजबूत संपत्ति विशेषता

@property(strong)IBOutlet NSArrayController *arrayControl; 

मेरा प्रश्न है: मजबूत विशेषता का क्या मतलब है ?? क्या यह किसी पुराने व्यक्ति को प्रतिस्थापित करता है, या यह पूरी तरह से नया है? मैंने Google और डेवलपर दस्तावेज़ों के माध्यम से खोज की है और कुछ भी ढूंढने में सक्षम है। जब तक मुझे पता न हो कि मैं इसका उपयोग करने में संकोच नहीं कर रहा हूं।

अग्रिम धन्यवाद

+1

सच यहाँ ठीक है के बारे में बीटा एनडीए सामान बात करने के लिए ... –

+3

, इसके im दूर कॉर्पोरेट रहस्यों को देने की तरह नहीं नहीं जा सकते, लेकिन हाँ, मैं शायद सेब में यह करने चाहिए थे देव मंचों –

+0

मैं इन दिखाई दे रहा है उद्देश्य सी सामान पर "बीटा एनडीए" टिप्पणियां। मुझे यह उल्लसित लगता है कि ऐप्पल को अपने उद्देश्य सी रहस्यों की रक्षा करने की आवश्यकता महसूस होती है (हर कोई उद्देश्य सी की प्रतिलिपि बनाने के लिए मर रहा है!), और यहां तक ​​कि मजेदार है कि डेवलपर्स को इसके बारे में लोगों को परेशान करने की आवश्यकता महसूस होती है। – Jehan

उत्तर

95

में यह retain विशेषता के लिए एक स्थानापन्न, Objective-C Automated Reference Counting (ARC) के हिस्से के रूप में है। गैर-एआरसी कोड में यह retain के लिए सिर्फ समानार्थी है।

4

जैसा कि हम जानते हैं, हम किसी भी ऑब्जेक्ट को आईओएस 5 में एआरसी-आधारित प्रोजेक्ट में रिलीज़ नहीं कर सकते हैं। तो जब हम बाद के चरण में आगे के उपयोग के लिए किसी ऑब्जेक्ट को बनाए रखना चाहते हैं और नहीं चाहते कि एआरसी ऑब्जेक्ट को हटा दें स्मृति, फिर हम वस्तु के लिए संपत्ति को "मजबूत" के रूप में सेट करते हैं।

10

एक मजबूत संदर्भ किसी ऑब्जेक्ट का संदर्भ है जो इसे हटाए जाने से रोकता है। दूसरे शब्दों में यह एक मालिक संबंध बनाता है। (अर्थात इसलिए जब तक मालिक है यह पुनः आवंटित की जाती नहीं किया जा सकता)

**// Non-ARC Compliant Declaration 
@property(retain) NSObject *obj;** 

एआरसी के तहत हम एक वर्ग उदाहरण सुनिश्चित करने के लिए निम्न उपाय अपनाते हैं एक स्वामित्व हित एक संदर्भित वस्तु लेता है: पहले से जबकि आप ऐसा करते हैं जाएगा।

**// ARC Compliant Declaration 
@property(strong) NSObject *obj;** 
संबंधित मुद्दे