美文网首页iOS 实用
iOS 筛选通话记录

iOS 筛选通话记录

作者: 我唔知啊 | 来源:发表于2017-05-11 12:05 被阅读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

    相关文章

      网友评论

        本文标题:iOS 筛选通话记录

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