我知道如果您的对象将用作NSDictionary中的键,则需要它。还有其他这样的时间需要NSCopying吗?
如果我认为我不需要我的模型对象符合NSCopying,我可能错了吗?
答案 0 :(得分:7)
将NSCopying协议视为克隆例程的目标C版本。 如果调用者要克隆您的对象,您想要的行为是什么?如果您的对象仅由原始类型组成,那么您不必担心这一点。但是如果你有任何复杂的类型作为成员,你可能想要克隆/复制它们而不是传递对它们的简单引用。
答案 1 :(得分:4)
NSCopying
的使用范围非常广泛。任何时候一个对象拥有它不应该与其他对象共享的东西,你需要一个副本。通常需要复制可变对象,但可能需要NSMutableCopying
而不是NSCopying
。
答案 2 :(得分:3)
当它被传递给copy属性或任何其他记录为复制其参数的方法时。