2010-04-04 128 views
12

我知道这是需要的,如果你的对象将被用作NSDictionary中的键。有没有其他的时间需要NSCopying?什么时候需要NSCopying?

如果我认为我不需要我的模型对象符合NSCopying,我可能是错的吗?

回答

3

当它传递给拷贝属性或任何其他记录为拷贝其参数的方法时。

4

NSCopying具有相当广泛的用法。任何时候一个对象拥有一些它不应该与其他对象共享的东西,你需要一个副本。通常需要复制可变对象,但可能需要NSMutableCopying而不是NSCopying

7

将NSCopying协议想象为克隆例程的Objective-C版本。 如果调用者克隆你的对象,你想要的行为是什么?如果你的对象完全由原始类型组成,那么你不需要担心这一点。但是,如果您有任何复杂的类型作为成员,您可能需要克隆/复制它们,而不是将简单的引用传递给它们。

相关问题