2011-04-28 16 views
81

मेरे पास एनएसडीएटी पर एक श्रेणी है और यह सुविधाजनक होगा अगर यह पहले बनाए गए प्रोटोकॉल को कार्यान्वित कर सके। क्या यह संभव है? इसके लिए सही वाक्यविन्यास क्या है?क्या कोई श्रेणी उद्देश्य सी में प्रोटोकॉल को कार्यान्वित कर सकती है?

उत्तर

131

हां, यह संभव है। वाक्यविन्यास है:

@interface NSDate (CategoryName) <ProtocolName> 
@end 

@implementation NSDate (CategoryName) 
@end 

इस विषय पर Apple's documentation है।

कक्षा विस्तार का उपयोग करके ऐसा करना भी संभव है। मैं इसे प्रतिनिधि प्रोटोकॉल के निजी तौर पर अनुरूप बनाने के लिए बहुत पसंद करता हूं। ऐसा करने से सार्वजनिक इंटरफ़ेस से कुछ वर्ग के कुछ प्रतिनिधि होने के कार्यान्वयन विवरण को छुपाया जाता है और शीर्षलेख से निर्भरता को हटा दिया जाता है।

+0

बहुत बुरा कोई वर्ग श्रेणी के कार्यान्वयन में प्रोटोकॉल घोषणा को स्थानांतरित करने का कोई तरीका नहीं है। – adib

+0

@adib यही क्लास एक्सटेंशन है। –

+0

सेब लिंक काम नहीं कर रहा है – bikram990

संबंधित मुद्दे