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