美文网首页
iOS 数组中元素是model组成的数组的拷贝

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

作者: wsmmint | 来源:发表于2019-05-29 16:47 被阅读0次

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

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

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

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

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

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

相关文章

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

    在进行产品筛选配置中,一直有个bug没有解决,就是在筛选选项为图1的时候点击重置,选项就会变成每一栏中的第一个选项...

  • 11_聊一聊js中实现数组拷贝的常用方法

    一、数组赋值 1、要点 用数组直接赋值的方式实现数组的拷贝,改变拷贝后的数组的元素,被拷贝的数组的元素也会发生改变...

  • 关于OC中数组的深、浅拷贝的小总结

    简而言之:数组的深拷贝,仅仅只是拷贝数组的内容,数组内元素的地址不会变,如果想要数组内的对象元素也深拷贝,则数组内...

  • JS-数组中元素深拷贝

    数组A中数据放入数组B,修改B中的元素后,A中元素也改变了,是因为使用了浅拷贝。若使用深拷贝复制数组,便可解决此问...

  • swift数组扩展

    swift数组移除元素 swift数组拷贝

  • 数组

    数组 由一组相同数据类型变量组成的有序集合,数组中的变量称为数组元素,元素在数组中位置称为下标,数组中元素个数称为...

  • js的深浅拷贝

    js的深浅拷贝可以分为数组的深浅拷贝和对象的深浅拷贝 一、数组的深浅拷贝如果只是简单的将数组中的元素付给另外一个数...

  • web前端入门到实战:14个JS数组拷贝技巧

    数组拷贝经常被误解,但这并不是因为拷贝过程本身,而是因为缺乏对 JS 如何处理数组及其元素的理解。JS 中的数组是...

  • JavaScript中splice,slice,substrin

    splice()方法从数组中添加/删除元素,改变原数组,然后返回被删除的元素组成的数组。 splice(start...

  • NSArray(续)

    NSArray1.1数组副本中的数据元素与原中数据元素的深浅拷贝 1.2排序1.2.1数组中的所有元素必须是同一个...

网友评论

      本文标题:iOS 数组中元素是model组成的数组的拷贝

      本文链接:https://www.haomeiwen.com/subject/hsvytctx.html