我有一种情况,我需要暂时使用一些字符串,但是我已经阅读了许多相互冲突的内容,所以我对有什么最好的处理方式感到困惑。处理临时字符串的更好方法是什么?
我需要指定一些字符串内的,如果结构,但使用它们,如果结构之外所以他们需要的,如果,我是想这样外部创建:
NSString *arbString = [[NSString alloc] init];
if(whatever)
{
arbString = @"Whatever"
}
else
{
arbString = @"SomethingElse"
}
myLabel.text = arbString;
[arbString release];
我所看到的例子,人们只是使用:
NSString *arbString;
创建字符串变量
谷歌的目标C指南说,它最好在创建时自动释放:
“当创建新的临时对象,自动释放他们为你创建它们,而不是一个单独的新闻稿后在同一方法在同一行”:
// AVOID (unless you have a compelling performance reason)
MyController* controller = [[MyController alloc] init];
// ... code here that might return ...
[controller release];
// BETTER
MyController* controller = [[[MyController alloc] init] autorelease];
所以我不知道,这是最好的实践?
这回答了我的问题,似乎我只是不正确的措辞。 http://stackoverflow.com/questions/2706955/objective-c-if-statements-not-retaining/2706957#2706957 – 2010-07-05 12:26:09