Опитвам се да определя препоръчителния начин за задаване на стойности по подразбиране за свойствата на 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];