あなたは試すことができます
@interface EngineRequests : NSObject {
@protected
UInt32 dataVersion;
}
@property (assign) UInt32 dataVersion;
@end
@implementation EngineRequests
@synthesize dataVersion;
// methods can access self.dataVersion
@end
ただし、外部アクセスを許可/制御したい場合を除き、実際にはプロパティは必要ありません。UInt32 dataVersion
クラスインターフェイスで宣言してから、どちらの方法dataVersion
も使用せずに実装で参照するだけで、外部のクラスが直接アクセスできなくなります。self.
@protected
dataVersion
Objective-C Propertiesを読みましたか?
初期化
あなたEngineRequests
は のサブクラスですNSObject
。NSObject
そのため、次のようにの-(id)init
メソッドをオーバーライドできます (通常はそうすべきです) 。
-(id)init {
self = [super init];
if (self != nil) {
self.dataVersion = 8675309; // omit 'self.' if you have no '@property'
}
return self;
}
または、独自の を作成します-(id)initWithVersion:(UInt32)version;
。