2012-06-23 26 views
7

एक्सकोड आईओएस 5.1 एसडीके में strong और weak आईबीओटलेट्स के बीच क्या अंतर है?स्ट्रॉन्ग और कमजोर आईबीओटलेट्स के बीच अंतर

मैं पहले 4.3 एसडीके का उपयोग कर रहा था, जहां मजबूत आईबीओलेट्स मौजूद नहीं थे। इसके अलावा, (ऑटो) रिलीज आईओएस 5.1 एसडीके में उपलब्ध नहीं है।

+0

आप मजबूत और nonatomic की तुलना नहीं कर सकते हैं। मुझे लगता है कि आप मजबूत और कमजोर के बीच का अंतर है। क्या आपने ऐप्पल डॉक्स में इसके बारे में कुछ पढ़ने की कोशिश की है? – dasdom

+0

@dasdom ठीक है कमजोर और मजबूत संदर्भ मतभेद मुझे या किसी भी दस्तावेज़ लिंक निर्देशित – Dinesh

+0

Autorelease और रिलीज आईओएस 5 में उपलब्ध हैं यदि आप एआरसी अक्षम करते हैं। एआरसी एक ऐसी सुविधा है जिसे सक्षम या अक्षम किया जा सकता है। – borrrden

उत्तर

10

Strong का अर्थ है कि जब तक यह संपत्ति किसी ऑब्जेक्ट को इंगित करती है, तब तक वह ऑब्जेक्ट स्वचालित रूप से रिलीज़ नहीं होगा। गैर एआरसी में इसके लिए retain

एक पर्याय है निर्दिष्ट करता है एक मजबूत (मालिक) गंतव्य वस्तु के संबंध नहीं है।

Weak बजाय, इसका मतलब है कि वस्तु के लिए, जारी करने के लिए नि: शुल्क है संपत्ति अंक लेकिन केवल तभी जब यह NULL के लिए संपत्ति सेट। एआरसी में आप सुनिश्चित करने के लिए आप

पर आपत्ति यह अंक के स्वामी नहीं हैं कमजोर का उपयोग निर्दिष्ट करता है एक कमजोर (गैर मालिक) गंतव्य वस्तु के संबंध नहीं है। यदि गंतव्य ऑब्जेक्ट को हटा दिया गया है, तो संपत्ति मान स्वचालित रूप से शून्य पर सेट हो जाता है।

Nonatomic का अर्थ है कि यदि एकाधिक धागे एक बार में पढ़ने या बदलने की कोशिश करते हैं, तो बुराई हो सकती है। नतीजे यह हैं कि आंशिक रूप से लिखित मूल्य या अति-जारी वस्तुओं = CRASH होंगे।

here, at Apple's documents पर एक नज़र डालें।

वहाँ से, उदाहरण

@property (weak) IBOutlet MyView *viewContainerSubview; 
@property (strong) IBOutlet MyOtherClass *topLevelObject; 

चेक भी thisstrong और weak बारे में अधिक पता कर रहे हैं।

+0

कमजोर नहीं है तुम कहते हो यह है। –

+0

फिर बस अपना उत्तर पोस्ट करें। – Phillip

+0

उत्तर देने के लिए धन्यवाद! – Dinesh

2

एआरसी (स्वचालित संदर्भ गणना) Strong संकलक को बताता है कि संपत्ति-मालिक संबंध "मजबूत" है। यह ऑटोरेलीज पूल मेमोरी स्कीम में retain के बराबर है। ऐप्पल का एआरसी here में संक्रमण पर एक लेख है।

0

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

जब आप नियंत्रण जीवन समय नहीं चाहते हैं तो आप एक सप्ताह की संपत्ति के रूप में घोषित करते हैं।

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