iOS 数组中元素是model组成的数组的拷贝

在进行产品筛选配置中,一直有个bug没有解决,就是在筛选选项为图1的时候点击重置,选项就会变成每一栏中的第一个选项如图2。不点击确定,关闭筛选框,再打开筛选按钮,筛选框中的三个选项都是第一个选择项图2。

正常情况下点击重置,不点确定按钮,再打开还应该是图1的样子。

于是想在点击重置时,重新写一个数组,来拷贝原有数组来进行展示。

用普通拷贝方法   [dataArray copy] 在对拷贝后的数组进行数据内部编辑后发现,原有的数组还是会继续被改变。苦恼了很久,直到今天发现当数组内部其中一个model数据改变时,另外几个也改变 的解决办法用到- (id)copyWithZone:(NSZone *)zone


于是也尝试着用该方法进行原数组内部的model进行拷贝,再将拷贝后的model  通过 addObject 的方法付值给新写的数组,问题就完美解决了!


在model的.m方法内重写copy方法
selectArray 是新的数组,dataArray 是原数组


图1


图2
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,160评论 1 32
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,842评论 1 45
  • 1 CALayer IOS SDK详解之CALayer(一) http://doc.okbase.net/Hell...
    Kevin_Junbaozi阅读 5,216评论 3 23
  • CB健康减重训练营早餐打卡Day65[小狗] 我要酷一点,不是我的不要了。。。 倒计时25Day,马甲线的小伙伴们...
    Angela小太阳阅读 166评论 0 0
  • Allavsoft 视频下载器是一个流行的快速在线视频下载和转换器,帮助用户快速下载和转换在线电影,让其能在PC、...
    吾小帮阅读 1,373评论 0 1