है, मैं @property
सिंटैक्स का उपयोग संश्लेषित संपत्ति घोषित करने के लिए करना चाहता हूं जो सार्वजनिक रूप से पढ़ा जाता है लेकिन एक सेटटर जिसे कक्षा के भीतर से निजी रूप से बुलाया जा सकता है।ऑब्जेक्टिव-सी प्रॉपर्टी जो सार्वजनिक रूप से सार्वजनिक रूप से है, लेकिन इसमें निजी सेटर
चूंकि यह उद्देश्य-सी है, इसका मूल रूप से मतलब है कि setFoo:
विधि संश्लेषित की जाएगी, लेकिन इसे कक्षा के बाहर बुलाए जाने के परिणामस्वरूप एक चेतावनी (अपरिचित चयनकर्ता) होगा। चेतावनी को ट्रिगर करने के लिए मुझे संपत्ति readonly
घोषित करना है; क्या एक संश्लेषित सेटटर को मजबूर करने का कोई तरीका है जो केवल कक्षा के भीतर उपलब्ध है?
आप सही हैं , यह भी देखें http://stackoverflow.com/questions/743586/synthesizing-properties-in-categories/3251621#3251621 –
आवश्यक encapsulation बनाए रखते हुए गुणों की सुविधा का लाभ उठाने का यह एक शानदार तरीका है। :) इस क्षमता को प्यार करो। – LucasTizma
अद्यतन दस्तावेज लिंक: http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/CustomizingExistingClasses/CustomizingExistingClasses.html#//apple_ref/doc/uid/TP40011210-CH6-SW3 –