我有一種情況,我需要暫時使用一些字符串,但是我已經閱讀了許多相互衝突的內容,所以我對有什麼最好的處理方式感到困惑。處理臨時字符串的更好方法是什麼?
我需要指定一些字符串內的,如果結構,但使用它們,如果結構之外所以他們需要的,如果,我是想這樣外部創建:
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