मैं अपने *.m
फ़ाइल में एक निजी संपत्ति बनाने का प्रयास:निजी संपत्ति कैसे बनाएं?
@interface MyClass (Private)
@property (nonatomic, retain) NSMutableArray *stuff;
@end
@implementation MyClass
@synthesize stuff; // not ok
संकलक का दावा है कि वहाँ कोई सामान संपत्ति घोषित है कि। लेकिन एक सामान है। बस एक अज्ञात श्रेणी में। मुझे लगता है: असंभव। अन्य समाधान?
@interface MyClass()
@property (nonatomic, retain) NSMutableArray *stuff;
@end
@implementation MyClass
@synthesize stuff; // ok
कक्षा एक्सटेंशन इस उद्देश्य के लिए विशेष रूप से भाग में ऑब्जेक्टिव-सी 2.0 में बनाया गया:
.m फ़ाइल में संपत्ति को दोबारा घोषित करने के बजाय, आप बस उस कोड को लिख सकते हैं जो सीधे उस संपत्ति को अंतर्निहित परिवर्तनीय बैकिंग सेट करता है। उस निहित चर के समान नाम एक अंडरस्कोर के साथ prefixed है। स्पष्टता के लिए, इसे 'स्वयं' और एक तीर (हाइफ़न + राइटएंगल) का उपयोग करके एक्सेस करें: स्वयं -> _ myProperty = ... जो कुछ भी ...; –