मैं .m फ़ाइल में किसी श्रेणी के लिए एक निजी @interface
घोषित करने का प्रयास कर रहा हूं।क्या किसी श्रेणी के लिए दूसरा @ इंटरफेस घोषित करना संभव है?
एक सामान्य वर्ग के लिए मुझे क्या करना होगा:
@interface ClassA()
@end
@implementation ClassA
@end
और इसे सुचारू रूप से काम करेगा।
एक वर्ग के लिए श्रेणियों के साथ मैंने कोशिश की:
@interface ClassA (CategoryA)()
@end
@implementation ClassA (CategoryA)
@end
लेकिन यह अलग त्रुटियों के सभी प्रकार दे रहा है। मैं एक श्रेणी "विस्तार" करने की कोशिश कर रहा हूं, जिस तरह से इस वर्ग को इस वाक्यविन्यास @interface ClassA()
के माध्यम से बढ़ाया गया है।
मैं श्रेणी के लिए निजी विधियां लेना चाहता हूं, और मैं जानना चाहता हूं कि, खुला इंटरफ़ेस में जोड़ने के लिए मुझे .m फ़ाइल में दूसरी श्रेणी @interface
डालने की अनुमति है, जो इंस्टेंस चर और विधियों का पर्दाफाश नहीं करता है कक्षा के बाहर ही।
कुछ इस तरह:
ClassA + categoryA.h
@interface ClassA (CategoryA)
<some public methods>
@end
ClassA + categoryA.m फ़ाइल
@interface ClassA (CategoryA)
<some private methods>
@end
@implementation ClassA (CategoryA)
<here I want to be able to call the private methods above>
@end
अभी यह मेरे Xcode में चेतावनी दे रहा है:
श्रेणी 'केट की डुप्लिकेट परिभाषा goryA 'इंटरफेस पर' कक्षा '
क्या इस व्यवहार को पाने का कोई तरीका है?
क्या -1 के लिए कारण है? क्या मैंने कुछ गलती की? –
किंडा अस्पष्ट, आपको उन त्रुटियों को प्रदान करना चाहिए था जिनके बारे में आप बात कर रहे थे। लेकिन मुझे लगता है कि यह एक उत्तर के लिए पर्याप्त स्पष्ट है। – fbernardo
त्रुटियां यहां प्रासंगिक नहीं हैं, वे स्पष्ट रूप से xCode के कारण सिंटैक्स को समझ नहीं रहे हैं जिसे मैं लागू करने का प्रयास कर रहा हूं। –