ऑब्जेक्टिव-सी में, वहाँ मीटर फ़ाइल में hackish तरीका निजी तरीकों बनाने के लिए एक तरह से है,:ऑब्जेक्टिव-सी में निजी संपत्तियों का निर्माण
@interface FooClass (PrivateMethods)
- (void) doBar:(id)barAction withBaz:(id)bazAction;
@end
यह तरीकों के लिए महान काम करता है। मैं एक संपत्ति के साथ भी ऐसा ही करने की कोशिश की:
@interface BarClass (PrivateMethods)
@property (nonatomic, strong) BazObject *myBaz;
@end
@implementation BarClass
@synthesize myBaz = _myBaz;
[...]
@end
यह एक संकलन चेतावनी लाया: संपत्ति 'PrivateMethods' वर्ग कार्यान्वयन में लागू नहीं किया जा सकता है श्रेणी में घोषित कर दिया।
@implementation BarClass (PrivateMethods)
@synthesize myBaz = _myBaz;
@end
तब:: मैं एक श्रेणी में अपनी संपत्ति को स्थानांतरित करने की कोशिश की @synthesize is not allowed in a category's implementation.
स्पष्ट जवाब है, "कोशिश कर छोड़ दिया, बस ivars का उपयोग करें", लेकिन मैं एप्पल में लोगों द्वारा बताया गया है कि वे ' ve (व्यक्तिगत रूप से) पूरी तरह से गुणों का उपयोग करने के लिए चले गए। वे जो सुरक्षा लाते हैं (जैसे बंदूक पर सुरक्षा, पैर में खुद को शूट करना कठिन होता है) मुझे सभी को खुश करता है, तो क्या नग्न शिवराओं का उपयोग किए बिना ऐसा करने का कोई तरीका है?