संकलित नहीं करता है मैंने एक वैकल्पिक विधि के साथ प्रोटोकॉल लागू किया है और कॉलिंग विधि में मैं संदेश भेजने से पहले respondsToSelector:
self.delegate
पर भेजना चाहता हूं, लेकिन यह संकलित नहीं होता है। असफल संदेश है:self.delegate प्रतिसाद देता है चयनकर्ता: ...
चयनकर्ता 'प्रतिसाद' चयनकर्ता ' के लिए कोई ज्ञात उदाहरण विधि नहीं है।
एक काम के आसपास, मैं "स्वच्छ" प्रतिनिधि के रूप में नीचे दिखाया गया है, जो संकलित रूप में ...
//MyClass.h:
@class MyClass;
@Protocol MyClassDelegate
- (void)myClass:(MyClass *)sender willDoSomething:(BOOL)animated;
@end
@interface MyClass : UIViewController
@property (nonatomic, weak) id<MyClassDelegate> delegate;
@end
और
//MyClass.m:
...
@synthesize delegate = _delegate;
...
id sanitizedDelegate = self.delegate; //Hmmmm... why does this work?
if ([sanitizedDelegate respondsToSelector:@selector(myClass:willDoSomething:)]) {
[self.delegate myClass:self willDoSomething:animated];
}
।
मैंने this one सहित कई पदों की जांच की लेकिन यह संकलन विफल समस्या का उत्तर नहीं देता है।
इसके अलावा, विकल्प accessors काम नहीं करते ...
[self delegate]
//or
_delegate
किसी को भी इस देखा है या से निपटने में एक बेहतर तरीका सलाह दे सकते हैं?
आईओएस 5.0: (9A334), Xcode 4.2.1 (4D502)
का-चिंग ... मैं दरवाजा # 3 ले जाऊंगा। – vmanjz
प्रतिनिधियों को एनएसओब्जेक्ट के रूप में घोषित करने के लिए काम किया, धन्यवाद! – c0d3Junk13