2012-06-01 10 views
10

बनाए रखता है जब मैं एआरसी मोड में कोरडाटा में अपनी इकाई के लिए मॉडल ऑब्जेक्ट्स बनाता हूं, तो यह इसके बजाय या मजबूत बनाए रखता है। तो एआरसी मोड में भी काम और संकलन बनाए रखता है? मैंने एआरसी मोड में सोचा था कि हम रिलीज, ऑटोरेलीज का उपयोग नहीं कर सकते हैं और कीवर्ड बनाए रख सकते हैं?एआरसी उपयोग में कोरडाटा मॉडल ऑब्जेक्ट्स

+0

हम्म यह आश्चर्यजनक है, कोई प्रतिक्रिया नहीं? – theiOSguy

उत्तर

4

क्या आपका मतलब है कि यह @property इस तरह की घोषणा उत्पन्न करता है?

@property (nonatomic, retain) MyObject *object; 

retain संपत्ति विशेषता एआरसी के तहत strong का मतलब है।

4.1.1. Property declarations

+1

यह बहुत अच्छा है, लेकिन वास्तव में सवाल का जवाब नहीं देता है, मुझे लगता है कि इस लड़के ने एआरसी का उपयोग करके एक परियोजना बनाई है, और मिश्रण में कोर डेटा जोड़ने पर, एनएसएमएनेज ऑब्जेक्ट्स उन गुणों के साथ उत्पन्न किए जा रहे हैं जो बनाए रखने का उपयोग करते हैं, मजबूत नहीं। हालांकि यह एआरसी परियोजना में कानूनी नहीं होना चाहिए जब तक अन्यथा परियोजना के गैर एआरसी अनुभाग के रूप में निर्दिष्ट नहीं किया जाता है, यह एक अजीब घटना है। इसे मजबूत बनाए रखने की अपेक्षा की जानी चाहिए, या कम से कम संकलक को शिकायत करनी चाहिए कि यह एआरसी नियमों से मेल नहीं खाता है ... कोई अन्य विचार – Daniel

+10

एआरसी 'बनाए रखने' कीवर्ड के उपयोग पर प्रतिबंध नहीं लगाता है। यह 'रखरखाव' चयनकर्ता के उपयोग पर प्रतिबंध लगाता है। कीवर्ड और चयनकर्ता पूरी तरह से अलग हैं। मेरे द्वारा लिंक किए गए दस्तावेज़ के §7.1.1 देखें। –

+0

अतिरिक्त जानकारी के लिए धन्यवाद – Daniel

4

कृपया इस जवाब की जाँच: https://stackoverflow.com/a/10036821/662605

यह का सार है कि अगर आप अपने @synthesize गुण है, तो हुड के नीचे उत्पन्न कोड retain प्रकार (retain, assign पर भरोसा नहीं है, copy)।

जनरेट किया गया प्रबंधित वस्तु उपवर्गों का उपयोग @dynamic नहीं @synthesize, यह सब सामान आप के लिए जादुई हो रहा है, तो वास्तव में, हालांकि यह भ्रामक है, retain कीवर्ड प्रयोग किया जा रहा नहीं कर रहा है यह प्रतीत होता है, इसलिए एआरसी शिकायत नहीं है .. मुझे यकीन है कि यह है।

हालांकि मैं कार्यान्वयन @synthesize उपयोग करने के लिए और अभी भी त्रुटियों नहीं मिला स्वैप करने के लिए प्रयास किया, लेकिन मुझे लगता है कि हम कड़ी

किसी भी अन्य अंतर्दृष्टि अच्छा होगा पर कि जवाब के साथ कुछ पर हो सकता है।