tips: NSCopying和NSMutableCopying

Requirements for Object Copying

  • 实现NSCopying协议.
@protocol NSCopying 
 -(id)copyWithZone:(NSZone *)zone
@end

注意:返回的对象都是immutable的

  • NSObject中定义了- (id)copy方法,该方法直接返回NSCopying协议中的-(id)copyWithZone:(NSZone *)zone的返回值

  • JSONKit中的JSArray的实现

NSCopying和NSMutableCopying协议

区别在于,一个返回的是immutable的,一个返回的是mutable的

例子

JSONKit中的JKArray中的实现:

原文地址:https://www.cnblogs.com/mindyme/p/4628292.html