अपने इंटरफ़ेस में, आप औपचारिक रूप से ब्रेसिज़ के बीच, या @propertyब्रेसिज़ के बाहर या दोनों के माध्यम से एक इंस्टेंस चर घोषित कर सकते हैं । किसी भी तरह, वे वर्ग के गुण बन जाते हैं। अंतर यह है कि यदि आप घोषणा करते हैं @property, तो आप का उपयोग करके लागू कर सकते हैं @synthesize, जो आपके लिए आपके गेटटर / सेटर को ऑटो-कोड करता है। ऑटो-कोडर सेटर पूर्णांक को इनिशियलाइज़ करता है और उदाहरण के लिए शून्य पर तैरता है। यदि आप एक उदाहरण चर की घोषणा करते हैं, और एक संगत निर्दिष्ट नहीं करते हैं @property, तो आप उपयोग नहीं कर सकते हैं @synthesizeऔर अपने स्वयं के गेटटर / सेटर को लिखना होगा ।
आप हमेशा ऑटो-कोडेड गेट्टर / सेटर को ओवरराइड कर सकते हैं अपने स्वयं के निर्दिष्ट करके। यह आमतौर पर उस managedObjectContextसंपत्ति के साथ किया जाता है जो आलसी लोडेड है। इस प्रकार, आप अपनी managedObjectContextसंपत्ति घोषित करते हैं, लेकिन फिर एक भी लिखते हैं-(NSManagedObjectContext *)managedObjectContext विधि । उस विधि को याद करें, जिसका उदाहरण चर / संपत्ति के समान नाम है, "गेट्टर" विधि है।
@propertyघोषणा विधि भी आप इस तरह के रूप में अन्य विकल्प, की अनुमति देता है retainऔर readonlyहै, जो उदाहरण चर घोषणा विधि नहीं है। मूल रूप से, ivarपुराना तरीका है, और @propertyइसे विस्तारित करता है और इसे कट्टर / आसान बनाता है। आप स्वयं का उपयोग करके या तो संदर्भित कर सकते हैं। उपसर्ग, या नहीं, यह तब तक मायने नहीं रखता जब तक कि नाम उस वर्ग के लिए अद्वितीय न हो। अन्यथा, यदि आपके सुपरक्लास में आपके जैसी ही संपत्ति का नाम है, तो आपको यह बताने के लिए स्व.नाम या सुपर.नाम की तरह या तो यह कहना होगा कि आप किस नाम के बारे में बात कर रहे हैं।
इस प्रकार, आप कम और कम लोगों ivarको ब्रेसिज़ के बीच एस घोषित करते हैं , और इसके बजाय सिर्फ निर्दिष्ट करने की ओर शिफ्ट होते हैं @property, और फिर कर रहे हैं @synthesize। आप इसके @synthesizeबिना अपने कार्यान्वयन में नहीं कर सकते @property। सिंथेसाइज़र केवल यह जानता है कि यह किस प्रकार की विशेषता है @property। सिंथेसाइज़ स्टेटमेंट आपको संपत्तियों का नाम बदलने की भी अनुमति देता है, ताकि आप अपने कोड के अंदर एक नाम (आशुलिपि) द्वारा एक संपत्ति का उल्लेख कर सकें, लेकिन .h फ़ाइल के बाहर पूर्ण नाम का उपयोग करें। हालाँकि, XCode के पास वास्तव में अच्छा स्वत: पूर्ण होने के साथ, यह एक लाभ से कम है, लेकिन अभी भी है।
आशा है कि यह सब भ्रम और गलत सूचनाओं को दूर करने में मदद करता है जो वहां से बाहर चल रही है।