只是一個關於NSStrings的簡單問題,我有一段代碼給一個字符串賦值,這取決於發現它是由substringToIndex賦值還是常量字符串@「0.00」,是不是好使用NSString作業和保留
// Save if value found, otherwise set to 0.00
if (parsedCharacters == nil || [parsedCharacters isEqualToString:@""])
self.currentDiscountedPrice = @"0.00";
else
{
// Truncate extra digits from string to 2 decimal places (find full stop, save 2 places after it)
NSRange fullStopRange = [parsedCharacters rangeOfString:@"."];
self.currentDiscountedPrice = [parsedCharacters substringToIndex:(fullStopRange.location + 3)];
}
的分配,因爲它會釋放舊的價值&保留新的價值?
有沒有辦法知道該var是否分配了常量字符串或substringToIndex返回值在前面的迭代,但我被告知調用保留&釋放常量字符串是無害的,這是真的嗎?
我基本上要問的是,在上面的代碼中,我應該明確地釋放舊值並保留substringToIndex值,或者可以使用self.currentDiscountedPrice =來分配這兩個值嗎? – 2010-08-09 09:00:14
OT:而不是'parsedCharacters == nil || [parsedCharacters isEqualToString:@「」]',我會寫'parsedCharacters.length == 0'。由於Objective-C的message-to-nil語義,這會檢測到'nil',非零時它可能會稍微快一點,當然更簡單。 – 2010-08-09 10:49:46