Xcodeは自動的に@synthesisを追加するようになったので、対応するivarなしでプロパティを宣言するにはどうすればよいですか?
2 に答える
1
getterとsetterを実装する必要があります。そうしないと、自動的に合成されず、ivarが自動的に作成されます。
于 2012-10-23T13:08:16.910 に答える
1
@interface Obj : NSObject
@property NSString* str;
@end
@implementation
-(NSString*) str {
//TODO:
return @"sdfsdf";
}
-(void) setStr:(NSString*) st {
//TODO:
}
@end
命名規則は単純です。
getter はプロパティと同じ名前 (例では str)、setter は set プレフィックス、つまり setPropertyName (プロパティ名の最初の文字は大文字: setStr:) を持っている必要があります。
また、atomic、retain、strong などの属性を追加することもできますが、プロパティを自分で実装している場合は効果がありませんが、クラスのユーザーにとっては良いヒントになります。
于 2012-10-23T13:17:37.753 に答える