मैं कुछ गुणों के साथ एक प्रोटोकॉल को परिभाषित और एक अन्य NSObject उपवर्ग में उन गुणों का उपयोग करने की जरूरत है चाहता हूँ में गुण लागू करने के लिए कैसे। कृपया मुझे लिंक या उदाहरण कोड दें। मुझे 10.5 के साथ काम करने की ज़रूरत है।को परिभाषित करने और प्रोटोकॉल
धन्यवाद कृपया निम्न नमूना कोड
@protocol MyProtocol
@property (nonatomic, readonly) id someObject;
@property (nonatomic, getter=isAlive) BOOL alive;
@end
#import "MyProtocol.h"
@interface MyCustomClass : NSObject <MyProtocol>{
}
@end
#import "MyCustomClass.h"
@implementation MyCustomClass
@synthesize someObject,alive;
/*
- (id)someObject {
return nil;
}
- (BOOL)isAlive {
return YES;
}
- (void)setAlive:(BOOL)aBOOL {
}
*/
@end
** जोड़ा गया: x86_64 आर्किटेक्चर के साथ compling कोड ठीक काम करता है। ।
MyCustomClass.m:13: error: synthesized property 'someObject' must either be named the same as a compatible ivar or must explicitly name an ivar
error: synthesized property 'alive' must either be named the same as a compatible ivar or must explicitly name an ivar
मैं सिर्फ जानना चाहता है कि यह @synthesize साथ x86_64 में और i386 में नहीं काम कर रहा है चाहता हूँ **
Synthesizing के बाद से यह संकलक एक्सेसर विधि कार्यान्वयन की आपूर्ति करने का निर्देश गुणों के साथ-काम करना चाहिए,। –
धन्यवाद, आपका प्रदत्त कोड पूरी तरह से काम करता है, अगर मैं प्रोजेक्ट आर्किटेक्चर को x86_64 पर रखता हूं। यदि मैं आर्किटेक्चर को i386 में बदलता हूं तो मुझे निम्नलिखित चेतावनियां मिल रही हैं: MyCustomClass.m: 13: त्रुटि: संश्लेषित संपत्ति 'someObject' को या तो संगत ivar के समान नाम दिया जाना चाहिए या स्पष्ट रूप से ivar त्रुटि का नाम होना चाहिए: संश्लेषित संपत्ति 'जिंदा' या तो एक संगत इवर रूप में एक ही नामित किया जाना चाहिए या स्पष्ट रूप से एक इवर मैं सिर्फ जानना चाहता है कि यह @synthesize साथ x86_64 में i386 में नहीं काम कर रहा है और चाहता हूँ नाम देना होगा। धन्यवाद – AmitSri
मैं यदि संभव हो तो कम कोड लिखने की कोशिश कर रहा हूँ। कृपया मुझे यह भी समझाएं कि विभिन्न आर्किटेक्चर के बीच क्या अंतर है और मुझे लगता है कि एप्लिकेशन को संकलित करने के लिए कौन सा चयन करना है। – AmitSri