2010-04-04 186 views
12

我知道這是需要的,如果你的對象將被用作NSDictionary中的鍵。有沒有其他的時間需要NSCopying?什麼時候需要NSCopying?

如果我認爲我不需要我的模型對象符合NSCopying,我可能是錯的嗎?

回答

3

當它傳遞給拷貝屬性或任何其他記錄爲拷貝其參數的方法時。

4

NSCopying具有相當廣泛的用法。任何時候一個對象擁有一些它不應該與其他對象共享的東西,你需要一個副本。通常需要複製可變對象,但可能需要NSMutableCopying而不是NSCopying

7

將NSCopying協議想象爲克隆例程的Objective-C版本。 如果調用者克隆你的對象,你想要的行爲是什麼?如果你的對象完全由原始類型組成,那麼你不需要擔心這一點。但是,如果您有任何複雜的類型作爲成員,您可能需要克隆/複製它們,而不是將簡單的引用傳遞給它們。

相關問題