Birkaç özellikli bir protokol tanımlamak istiyorum ve bu özellikleri başka bir NSObject alt sınıfında kullanmanız gerekir. Lütfen bana link veya örnek kod verin. 10.5 ile çalışmak için buna ihtiyacım var.Protokolde özellikler nasıl tanımlanır ve uygulanır
Teşekkür Aşağıdaki örnek kod eklendi
@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
** LÜTFEN KONTROL EDİN: x86_64 mimarisi ile compling kod çalışıyor. .
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
Sadece @synthesize ile x86_64 içinde değil i386 çalışıyor neden bilmek istiyorum
**
Özelliklerin sentezlenmesi de, derleyiciye erişim yöntemi uygulamalarını sağlamasını bildirdiği için çalışmalıdır. –
Teşekkürler, sağladığınız kod, proje mimarisini x86_64'e saklıyorum. I386 için mimariyi değiştirirseniz, aşağıdaki uyarıları alıyorum: MyCustomClass.m: 13: hata: sentezlenen özellik 'someObject' ya uyumlu bir ivar ile aynı adlı veya açıkça bir ivar hata adı gerekir: sentezlenmiş 'canlı' özelliği ya uyumlu bir ivar ile aynı şekilde adlandırılmalıdır ya da açıkça bir ivar adı olmalıdır. Sadece x86_64'te neden @synthesize ile çalıştığını ve i386'da olmadığını bilmek istiyorum. Teşekkürler – AmitSri
Mümkünse daha az kod yazmaya çalışıyorum. Lütfen ayrıca, farklı mimariler arasındaki farkı ve uygulamayı derlemeyi tercih ettiğimi varsayalım. – AmitSri