में प्रोटोकॉल को परिभाषित करना और उपयोग करना मैं एनएसआईमेज व्यू को विस्तारित करने की कोशिश कर रहा हूं, इसलिए मैं नियंत्रक को ड्रैग/ड्रॉप जिम्मेदारी का प्रतिनिधित्व कर सकता हूं। यह सब एक समस्या के साथ ठीक काम करता है कि संकलक अब टाइप आईडी वाले ऑब्जेक्ट्स को संदेश भेजने के बारे में चेतावनियां प्रदर्शित कर रहा है। इसे हल करने के लिए मैंने माना कि मुझे बस प्रोटोकॉल के नाम से इवर के प्रकार को प्रत्यय करना होगा। हालांकि, यह संदेश के साथ बुरी तरह विफल रहता है कि इसे प्रोटोकॉल की परिभाषा नहीं मिल सकती है।उद्देश्य-सी
#import <Cocoa/Cocoa.h>
@interface DragDropImageView : NSImageView {
id <DragDropImageViewDelegate> _delegate;
}
@property (readwrite, retain) id <DragDropImageViewDelegate> delegate;
@end
@protocol DragDropImageViewDelegate
@optional
- (NSDragOperation)dragDropImageView:(DragDropImageView *)ddiv validateDrop:(id <NSDraggingInfo>)info;
- (BOOL)dragDropImageView:(DragDropImageView *)ddiv acceptDrop:(id <NSDraggingInfo>)info;
- (void)concludeDragOperation:(id <NSDraggingInfo>)sender;
@end
कोई भी पॉइंटर्स जहां मैं गलत हो रहा हूं? मुझे यकीन है कि यह कुछ आसान होना चाहिए, लेकिन मैं obj-c के लिए काफी नया हूँ।
+1। –
कीवर्ड हैं: _forward declaration_। – holex