NSString プロパティのデフォルト値を設定するための推奨される方法を決定しようとしています。
クラスの init および dealloc メソッドでアクセサ メソッドを使用するのは安全ではないことを理解しています。デフォルト値を割り当てたい文字列定数がよくあります。これを行うための推奨される方法は何ですか (iVar が dealloc メソッドでリリースされることを考慮して)?
たとえば、次のことは安全ではないことを理解しています。
@property (nonatomic, copy) NSString *identifier;
....
- (id) init
{
self = [super initWithLayer:displayLayer];
if (self != nil)
{
self.identifier = @"fireSpell01";
}
return self;
}
大丈夫ですか、またはこれを行うことをお勧めします:
identifier = [@"fireSpell01" retain];
または、これを行う必要があります:
identifier = [[NSString stringWithString:@"fireSpell01"] retain];