मैं स्कॉट स्टीवंसन द्वारा बनाए गए अद्भुत ब्लॉग के माध्यम से सर्फिंग कर रहा हूं, और मैं 'असाइन' संपत्ति बनाम 'बनाए रखने' प्रतिनिधियों को असाइन करने की मौलिक उद्देश्य-सी अवधारणा को समझने की कोशिश कर रहा हूं। ध्यान दें, दोनों कचरा एकत्रित वातावरण में समान हैं। मैं ज्यादातर गैर-जीसी आधारित पर्यावरण से संबंधित हूं (उदाहरण: आईफोन)।ऑब्जेक्टिव-सी प्रतिनिधियों को आम तौर पर बनाए रखने के बजाय संपत्ति असाइनमेंट क्यों दिया जाता है?
स्कॉट ब्लॉग सेसीधे:।
"असाइन कीवर्ड एक सेटर जो सीधे उदाहरण चर के लिए मूल्य प्रदान करती है, बल्कि कॉपी करने या इसे बनाए रखने की तुलना में उत्पन्न होगा यह सबसे अच्छा NSInteger और CGFloat, या की तरह आदिम प्रकार के लिए है ऑब्जेक्ट्स जो आप सीधे नहीं हैं, जैसे प्रतिनिधियों। "
इसका क्या अर्थ है कि आप सीधे प्रतिनिधि वस्तु का मालिक नहीं हैं? मैं आम तौर पर अपने प्रतिनिधियों को बरकरार रखता हूं, क्योंकि यदि मैं नहीं चाहता कि वे अस्थियों में चले जाएं, तो मेरे लिए इसका ख्याल रखना होगा। मैं आमतौर पर अमूर्त UITableViewController अपने संबंधित डेटा स्रोत और प्रतिनिधि से दूर भी। मैं उस विशेष वस्तु को भी बरकरार रखता हूं। मैं यह सुनिश्चित करना चाहता हूं कि यह कभी नहीं चलेगा इसलिए मेरे UITableView के पास हमेशा इसके प्रतिनिधि हैं।
क्या कोई और बता सकता है कि मैं कहां/क्यों गलत हूं, इसलिए मैं बनाए रखने के बजाए प्रतिनिधियों पर असाइन संपत्ति का उपयोग करने के उद्देश्य-सी 2.0 प्रोग्रामिंग में इस सामान्य प्रतिमान को समझ सकता हूं?
धन्यवाद!
"प्रतिनिधियों" के साथ और "आईफोन" के बिना retagged। –
प्रतिलिपि के बजाय प्रतिनिधि असाइन क्यों है (जैसे एनएसएसटींग?) – OMGPOP