के साथ निजी इंस्टेंस वर्र्स की प्रतिलिपि बनाने के लिए सबसे अच्छा अभ्यास मैं यहां कुछ स्पष्ट याद कर रहा हूं, लेकिन मैं अपनी वस्तुओं में से एक पर एनएससीपीआईपी लागू कर रहा हूं। उस ऑब्जेक्ट में निजी आवृत्ति चर हैं जो गेटर्स के माध्यम से प्रकट नहीं होते हैं, क्योंकि उन्हें ऑब्जेक्ट के बाहर उपयोग नहीं किया जाना चाहिए।एनएससीपीआई
copyWithZone:
के कार्यान्वयन में, मुझे नए उदाहरण को आवंटित/इनिट करने की आवश्यकता है, लेकिन वर्तमान स्थिति से मेल खाने के लिए अपने राज्य को भी स्थापित करें। मैं स्पष्ट रूप से copyWithZone:
के अंदर से वर्तमान निजी स्थिति तक पहुंच सकता हूं, लेकिन मैं इसे नए ऑब्जेक्ट में सेट नहीं कर सकता, क्योंकि उस राज्य के लिए कोई एक्सेसर नहीं है।
क्या डेटा गोपनीयता को बरकरार रखने के दौरान इसके आसपास एक मानक तरीका है?
धन्यवाद।
निजी एक्सेसर्स के साथ-साथ एनएससीपीओब्जेक्ट के खतरों के उल्लेख के लिए धन्यवाद। –
मुझे यकीन नहीं है कि रीडोनली एक्सेसर्स मेमोरी प्रबंधन में कैसे मदद करता है? यदि आप इसे 'असाइन' या' बनाए रखने 'के साथ उपयोग नहीं कर रहे हैं, तो इससे कोई फर्क नहीं पड़ता कि आप सीधे गेटर या चर का उपयोग करते हैं या नहीं। – Hemant
@ हेमंत, क्योंकि कॉलर को इस बारे में सावधान रहने की आवश्यकता नहीं है कि संपत्ति वर्तमान में (या भविष्य में) पढ़ी गई है या नहीं। यह कॉलर का व्यवसाय नहीं है, और यह समय के साथ बदल सकता है, और फिर आपको उस कोड के हर टुकड़े का शिकार करना होगा जिसने इसे गलत तरीके से किया था। सरल नियमों से चिपके हुए, त्रुटियां स्पष्ट हो जाती हैं। जब आप कहते हैं "ओह, जब मुझे पता चल जाए कि यह वर्तमान में ठीक है" तो आप रखरखाव के सिरदर्द के लिए खुद को खोल रहे हैं। –