एक बार जब आप एक प्रदर्शन अंतर देखेंगे तो एक बार आप एक संपत्ति को "nonatomic" के रूप में चिह्नित नहीं करते हैं। फिर @ सिंथेसाइज स्वचालित रूप से आपकी संपत्ति की सेटिंग के आसपास सिंक्रनाइज़ेशन कोड जोड़ देगा, इसे थ्रेड सुरक्षित रखेगा - लेकिन सेट करने और एक्सेस करने के लिए धीमा।
इस प्रकार ज्यादातर आप शायद की तरह एक संपत्ति को परिभाषित करना चाहते:
@property (nonatomic, को बनाए रखने) NSString * myProp;
व्यक्तिगत रूप से मुझे डॉट नोटेशन आम तौर पर आपके दृष्टिकोण से उपयोगी लगता है जो सही सेटटर विधियों को लिखने के बारे में सोचने के बारे में नहीं सोचता है, जो नॉनटॉमिक सेटर्स के लिए भी पूरी तरह से तुच्छ नहीं है क्योंकि आपको पुराने मूल्य को ठीक से रिलीज़ करना भी याद रखना चाहिए। टेम्पलेट कोड का उपयोग करने में मदद मिलती है लेकिन आप हमेशा गलतियां कर सकते हैं और यह आम तौर पर दोहराव कोड है जो वर्गों को अव्यवस्थित करता है।
इस बारे में जागरूक होने के लिए एक पैटर्न: यदि आप स्वयं को सेटर परिभाषित करते हैं (इसके बजाय @ सिंथेसाइज इसे बनाने की बजाय) और मूल्य निर्धारित करने के अन्य दुष्प्रभावों को शुरू करना चाहते हैं तो आपको संभवतः सेटटर को सामान्य विधि को कॉल करने के बजाय कॉल करना चाहिए संपत्ति नोटेशन।
अर्थात् गुणों का उपयोग करके कॉलर को वास्तविक मूल्य तक प्रत्यक्ष पहुंच दिखाई देती है और इससे भिन्न होता है जो किसी भी संदेश को भेजकर किया जाता है, किसी संपत्ति को एक्सेस नहीं कर सकता है (भले ही वे वास्तव में संदेश भेज रहे हों)।
स्रोत
2008-09-15 05:44:32