2011-05-20 11 views
0

我開始知道,最好在NSString的@property上使用copy而不是保留,因爲如果提供了NSMutableString,可能會遇到問題。 NSArray,NSDictionary,NSMutableData的條件是否一樣?在iPhone SDK的所有可變類中使用複製比保留更好嗎?

+0

你指的是什麼問題? – Tommy 2011-05-20 09:32:11

+0

我指的是當某個人給你一個mutableString並且你保留它的時候,如果這個人給了你對象改變它,你的對象也會受到影響。 – Krishnan 2011-05-20 15:04:22

回答

0

通過保留時的問題我假設你的意思是數據可能會意外地改變。

我會考慮使用副本,如果上述是意外的情況下,你使用的字符串或集合。所以你可以維護一個已知的字符串,集合或其他對象的副本,如果你不知道它,它將不會改變。

但是,可能有其他原因使用保留而不是複製到不可變集合或字符串上。您可能會接受內容可能會更改,但是在屬性中使用NSArray來顯示使用容器的對象本身不會修改它。

我會認爲NSString屬性可能希望使用複製更多,所以不是。集合可能不同,看看你的要求,看看什麼適合你的情況最好。

相關問題