如果对模型数组里相同内容进行去重复,首先每个模型要有个唯一的标识,一般数据库都会有个主键 id, 服务端返回数据时会根据这个主键 id查询数据.

下边会以一个具体的例子来演示

这3条数据内容是一样的 其中主键 id serviceId 都是一样的 ,那么我们根据每个模型里的serviceId 进行数组去重

具体代码如下


dispatch_async(dispatch_get_global_queue(0, 0), ^{NSMutableDictionary *tmpDict = [NSMutableDictionary dictionary];for (NSArray *subArr in array) {for (YVServiceListModel *model in subArr) {[tmpDict setObject:model forKey:model.serviceId];}}self.monitorOrderArray = [tmpDict.allValues mutableCopy];dispatch_async(dispatch_get_main_queue(), ^{[self.tableView reloadData];});});复制代码

通过Dictionary我们可以将模型数据放到一个字典里, serviceId作为 Key 这样出现重复的serviceId 可以将原来的值进行重新赋值,因为字典里 key 是唯一的

去除重复后效果

好了,我是大兵布莱恩特,欢迎加入博主技术交流群,iOS 开发交流群

转载于:https://juejin.im/post/5b46e5fdf265da0f491b8f62

iOS 模型数组去重复相关推荐

  1. java 数组正则表达式_java正则表达式实现提取需要的字符并放入数组【ArrayList数组去重复功能】...

    本文实例讲述了java正则表达式实现提取需要的字符并放入数组.分享给大家供大家参考,具体如下: 这里演示java正则表达式提取需要的字符并放入数组,即arraylist数组去重复功能. 具体代码如下: ...

  2. php数组去重复数据的小例子

    2019独角兽企业重金招聘Python工程师标准>>> php数组去重复数据示例,有时候获得的php数组中总是出现value重复的,使用下面的方法就可以去掉重复数据 以数字开头的重复 ...

  3. java 两个数组去重复数据_Java实现数组去除重复数据的方法详解

    本文实例讲述了Java实现数组去除重复数据的方法.分享给大家供大家参考,具体如下: 前一段时间被面试问到:如果一个数组中有重复元素,用什么方法可以去重?一时间会想到用一种方法,但是后来查阅资料后发现, ...

  4. python二维数组去重复_php二维数组去重,array_unique出除重复数据

    根据网站提供的方法修改所来保持数据键名不变.//二维数组去掉重复值 并保留键值 function array_unique_fb($array2D) { $key = array(); foreach ...

  5. 【讨论】js对数组去重复值

    代码 <script type="text/javascript">  Array.prototype.distinct = function(){   var $ = ...

  6. php 二维数组 去重复,php二维数组合并及去重复的方法

    这篇文章主要介绍了php二维数组合并及去重复的方法,实例分析了php合并数组与删除重复项的技巧,需要的朋友可以参考下 本文实例讲述了php二维数组合并及去重复的方法.分享给大家供大家参考.具体实现方法 ...

  7. 关于iOS去除数组中重复数据的几种方法

    在工作工程中我们不必要会遇到,在数组中有重复数据的时候,如何去除重复的数据呢? 第一种:利用NSDictionary的AllKeys(AllValues)方法 代码: NSArray *dataArr ...

  8. php首字母 大写 数组去重复

    $zimu[]=strtoupper(substr( $value['title'], 0, 1 ));//大写 $zimu[]=strtolower(substr( $value['title'], ...

  9. python 数组去重复_numpy数组去掉重复的行,保留唯一的行数据

    有以下numpy.array数据:>>> original_array # array([[1, 1, 1, 0, 0, 0], [0, 1, 1, 1, 0, 0], [0, 1, ...

最新文章

  1. cesium 经纬度绘制点_cesium结合geoserver利用WFS服务实现图层新增(附源码下载)
  2. Aaron Stannard谈Akka.NET 1.1
  3. 求质数算法的N种境界 (N 10) zz
  4. 完全实战-从零开始配置服务器
  5. PYTORCH BN层
  6. 【ASP.NET MVC4】第一课:初识ASP.NET MVC,创建第一个ASP.NET MVC项目
  7. vs插件VS10x CodeMap 注册码
  8. 安装深度linux系统卡住不动,简单有效!一招解决深度Linux死机问题
  9. Sulfo CY5-MAL|磺基-CY5 马来酰亚胺
  10. Arduino单片机(二).Arduino系列单片机的介绍
  11. 如何预估项目的完成时间
  12. JavaScript对输入的用户名密码等进行判断
  13. 【java-调用摄像头进行截屏与保存-实例篇1-0716】
  14. 基于DE2的开源片上系统Freedom E310移植
  15. linux中如何知道了主机IP,获得主机名
  16. oracle-1480,1400,1438错误一些解决方式
  17. [滑模控制器浅述] (5) 基于分层滑模的吊车控制
  18. 软件测试工程师的“初—中—高”晋升之路
  19. 缓冲技术之二:缓冲池BufferPool的简单实现
  20. 在Centos7上安装osp

热门文章

  1. 数据结构:堆排序一(heap sort)
  2. 汇编: 描述内存长度
  3. Informatica PowerCenter使用介绍-转载
  4. tcp和udp的区别?
  5. IDEA工具创建项目并提交码云和一些基本使用
  6. 高级 Angular 组件模式 (3a)
  7. 【移动开发】Android应用开发者应该知道的东西
  8. hadoop学习;datajoin;chain签名;combine()
  9. Supervisor 守护你的进程
  10. jquery validate 插件:(2)简单示例