- 定义一个模型类遵守NSCopying 协议,重写copyWithZone方法
#import <Foundation/Foundation.h>
@interface DDCommand : NSObject<NSCopying>
@property (copy, nonatomic) NSString *text;
@end
#import "DDCommand.h"
@implementation DDCommand
- (id)copyWithZone:(NSZone *)zone {
DDCommand *command = [[[self class]allocWithZone:zone]init];
command.text = _text;
return command;
}
@end
- 调用
DDCommand *command = [[DDCommand alloc]init];
command.text = @"A";
DDCommand *command1 = [command copy];
- 完成了一次深拷贝
- 使用场景可以是 一个值传递到下一个页面完成操作后返回与原先值做比较。