Я пытаюсь определить рекомендуемый способ установки значений по умолчанию для свойств NSString.
Я понимаю, что небезопасно использовать методы доступа в методах инициализации и освобождения класса. У меня часто есть строковые константы, которым я хотел бы присвоить значения по умолчанию. Каков рекомендуемый способ сделать это (учитывая, что 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];