Лучше (быстрее и эффективнее) использовать инициализаторы alloc
или autorelease
. Например:.
- (NSString *)hello:(NSString *)name {
return [[NSString alloc] initWithFormat:@"Hello, %@", name];
}
ИЛИ
- (NSString *)hello:(NSString *)name {
return [NSString stringWithFormat:@"Hello, %@", name];
// return [@"Hello, " stringByAppendingString:name]; // even simpler
}
Я знаю, что в большинстве случаев производительность здесь не имеет значения. Но, я все еще хотел бы привыкнуть к этому лучше.
Если они делают точно то же самое, то я предпочитаю последний вариант, потому что он короче для ввода и чтения.
В Xcode 4.2 есть ли способ увидеть, с чем компилируется ARC, т.е. где он помещает retain
, release
, autorelease
и т.д.? Эта функция будет очень полезна при переключении на ARC. Я знаю, что вам не нужно думать об этом, но это поможет мне понять ответ на такие вопросы.