jjzjj

nsmutablecopying

全部标签

ios - 用于创建可变副本的 Objective-C 模式

我有许多“模型”对象,它们的属性被定义为“只读”并在各种组件之间共享。在某些情况下,我需要创建对象的本地可变副本(将它们用于本地可变状态)我宁愿不实现NSMutableCopy协议(protocol),因为对象在创建后应该是不可变的。修改后的对象可以在复制+变异操作后“传递”。是否有建议的机制,或者我应该只实现一个接收“已更改”参数的构造函数?例如,将JSON解析为native类型的对象:@interfaceImmutableObject:NSObject//various"readonly"properties...-(instancetype)initWithJSON:(NSDic

ios - 如何正确实现 mutableCopyWithZone 和 copyWithZone

我读了其他一些关于它的主题,但我仍然迷路了。我想创建两种对象,一种是只有“只读”属性的不可变对象(immutable对象),另一种是只有“读写”属性的可变对象。我们称它们为EXCar和EXMutableCar。EXCar是NSObject的子类,EXMutableCar是EXCar的子类。ExCar的界面中会有@property(nonatomic,strong,readonly)NSString*name;EXMutableCar的界面中会有@property(nonatomic,strong)NSString*name;所以当我使用它的子类EXMutableCar时,我“打开”了E