Я пытаюсь определить рекомендуемый способ установки значений по умолчанию для свойств 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];