为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Objective-C中复制对象

如何在Objective-C中复制对象

拉莫斯之舞 2019-12-10 10:24:20
我需要深度复制具有自己对象的自定义对象。我一直在阅读,对于如何继承NSCopying和如何使用NSCopyObject感到有些困惑。
查看完整描述

3 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

苹果文档说


copyWithZone:方法的子类版本应首先将消息发送给super,以合并其实现,除非该子类直接来自NSObject。


添加到现有答案


@interface YourClass : NSObject <NSCopying> 

{

   SomeOtherObject *obj;

}


// In the implementation

-(id)copyWithZone:(NSZone *)zone

{

  YourClass *another = [super copyWithZone:zone];

  another.obj = [obj copyWithZone: zone];


  return another;

}


查看完整回答
反对 回复 2019-12-10
  • 3 回答
  • 0 关注
  • 483 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信