iOS 实用

iOS 筛选通话记录

2017-05-11  本文已影响2093人  我唔知啊

目的:每个号码只取一条通话记录

数据结构如下:

屏幕快照 2017-05-11 11.59.49.png

其中calledNO是通话号码。

筛选代码来了:

    // 最终数据
    NSMutableArray *finalArr = [NSMutableArray array];
    
    // 原数据
    NSMutableArray *models = [NSMutableArray array];
    for (NSArray *arr in self.datas) {
        for (JCCallModel *model in arr) {
            [models addObject:model];
        }
    }
    // 取出所有通话号码
    NSMutableArray *phoneMuArr = [NSMutableArray array];
    for (JCCallModel *model in models) {
        [phoneMuArr addObject:model.calledNO];
    }
    // 创建排序集合,重点:使用NSSet可以得到不重复的元素
    NSOrderedSet *orderSet = [NSOrderedSet orderedSetWithArray:phoneMuArr];
    // 拿到没有重复的通话号码
    NSArray *phones = [orderSet.set allObjects];
    // 从原数据获取通话记录Model,每个号码只拿一条
    for (NSString *phone in phones) {
        for (JCCallModel *model in models) {
            if ([phone isEqualToString:model.calledNO]) {
                [finalArr addObject:model];
                break;
            }
        }
    }

结果:


屏幕快照 2017-05-11 11.53.11.png
上一篇 下一篇

猜你喜欢

热点阅读