iOS中数组元素的去重样例
2016-03-07 09:58
225 查看
最近接手的是Toshiba公司的蓝牙打印机项目
其实蓝牙做很久了····我都恶心了,庆幸的是
在日本除了看国内视频有限制以外别的都还好
(╯‵□′)╯︵┻━┻ 回归正题
很多时候我们接收数据,都存在字典或是数组里面,这些时候如果每一次来的数据有规律我们很好处理
但如果是不定时不定量的消息我们就需要去处理他,比如我的蓝牙实时搜索设备,会不断的有新的设备
加入或是丢失,我们需要配合tableview来显示,这时候我们还怎么办?
举例:
设定Betv是个类,就是我们数据不断添加的,_dataArr 是我们使用的数组,tempArray是临时去重用的
Betv * item = [[Betv alloc]init];
NSMutableArray *tempArray = [[NSMutableArray
alloc] initWithArray:_dataArr];
// 开始去重
if (_dataArr ==
nil) {
[tempArray addObject:(item)];
}else{
for (int i =
0; i < _dataArr.count; i++) {
Betv *itema = (Betv *)[_dataArr
objectAtIndex:i];
// 假设一个属性来做对比
if (itema.name != item.name) {
[tempArray addObject:(item)];
}
}
}
_dataArr = tempArray;最后出来的_dataArr就是去重过后的数组根据处理结果变化
我们需要做的就是[tableview reloaddata];
其实蓝牙做很久了····我都恶心了,庆幸的是
在日本除了看国内视频有限制以外别的都还好
(╯‵□′)╯︵┻━┻ 回归正题
很多时候我们接收数据,都存在字典或是数组里面,这些时候如果每一次来的数据有规律我们很好处理
但如果是不定时不定量的消息我们就需要去处理他,比如我的蓝牙实时搜索设备,会不断的有新的设备
加入或是丢失,我们需要配合tableview来显示,这时候我们还怎么办?
举例:
设定Betv是个类,就是我们数据不断添加的,_dataArr 是我们使用的数组,tempArray是临时去重用的
Betv * item = [[Betv alloc]init];
NSMutableArray *tempArray = [[NSMutableArray
alloc] initWithArray:_dataArr];
// 开始去重
if (_dataArr ==
nil) {
[tempArray addObject:(item)];
}else{
for (int i =
0; i < _dataArr.count; i++) {
Betv *itema = (Betv *)[_dataArr
objectAtIndex:i];
// 假设一个属性来做对比
if (itema.name != item.name) {
[tempArray addObject:(item)];
}
}
}
_dataArr = tempArray;最后出来的_dataArr就是去重过后的数组根据处理结果变化
我们需要做的就是[tableview reloaddata];
相关文章推荐
- iOS大神技术博客
- iOS开发 ☞ 数组常用方法
- iOS String字符串
- iOS KVC和KVO
- [iOS开发]判断两个数组中数据是否相同
- 【iOS开发-66】QQ设置界面的案例:利用storyboard开发静态的tableView界面,核心是Static Cells
- iOS 开发小技巧
- iOS开发-NSURLSession
- termios详解
- iOS开发之删除Provisioning Profiles方法
- iOS开发--动画(Animation)总结
- IOS中方法中带+、-的区别
- 详解iOS App中调用AVAudioPlayer播放音频文件的用法
- ios学习笔记(三)多态
- 我开源了一个ios应用,你们拿去随便玩
- iOS 单例模式
- ios crash log的解析
- 自带定位调用 地理编码 反地理编码
- ios本地推送信息互动
- IOS 多线程