मैं एक कक्षा एक्सटेंशन में UITableView में कोई प्रॉपर्टी जोड़ते चाहते हैं:आईओएस वर्ग विस्तार में एक संपत्ति की परिभाषा
@interface UITableViewController()
@property NSString *entityString;
@end
तब मैं एक्सटेंशन आयात और फिर मैं UITableViewController का एक उपवर्ग में entityString संपत्ति का उपयोग करें:
@implementation CustomerTableViewController
- (void)viewDidLoad {
self.entityString = @"Customer";
...
[super viewDidLoad];
}
...
Apple documentation का कहना है:
the compiler will automatically synthesize the relevant accessor methods (...) inside the primary class implementation.
लेकिन जब मैं पूर्व करने की कोशिश इसे समझें मुझे यह त्रुटि मिलती है:
-[CustomerTableViewController setEntityString:]: unrecognized selector sent to instance 0x737b670
मैं क्या गलत कर रहा हूं? शायद संपत्ति subclasses द्वारा पहुंचा जा सकता है?
को सही करने के लिए धन्यवाद bbum कक्षा विस्तार में जोड़ा जा रहा है या यह इस्तेमाल किए गए कंपाइलर पर निर्भर करता है? – tiguero
आप कक्षा एक्सटेंशन में ivars और गुणों की घोषणा कर सकते हैं, लेकिन इस तरह के संग्रहण को तब तक नहीं बनाया जाएगा जब तक कि कक्षा के @ कार्यान्वयन के संकलन से पहले संकलक द्वारा एक्सटेंशन को देखा न जाए। – bbum
स्पष्टीकरण के लिए धन्यवाद - मुझे नहीं पता था कि अलाज़रो वास्तव में एक फ्रेमवर्क कक्षा के लिए कक्षा विस्तार का उपयोग कर रहा था – tiguero