美文网首页
iOS按照权重排序

iOS按照权重排序

作者: 木子加白水 | 来源:发表于2018-06-06 12:06 被阅读187次

最近项目中遇到一个需求。对成员列表进行排序。规则如下
① 主持人永远在第一位,其余成员按授权>摄像头>麦克风>拼音排序。成员顺序实时变化。
想到可以用 NSSortDescriptor 很方便的实现。这里记录一下。

- (void)sortData
{
    NSSortDescriptor *roleDes = [NSSortDescriptor sortDescriptorWithKey:@"role" ascending:NO comparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
        
        NSNumber * number1  = obj1;
        NSNumber * number2  = obj2;
        if ([number1 integerValue] == kZegoUserRoleHost) {
            return NSOrderedDescending;
        }else if ([number2 integerValue] ==kZegoUserRoleHost){
            return NSOrderedAscending;
        }else{
            return NSOrderedSame;
        }
    }];
    NSSortDescriptor *permissionDes = [NSSortDescriptor sortDescriptorWithKey:@"permissions" ascending:NO];
    NSSortDescriptor *videoDesc = [NSSortDescriptor sortDescriptorWithKey:@"isEnableVideo" ascending:NO];
    NSSortDescriptor *muteDesc = [NSSortDescriptor sortDescriptorWithKey:@"isMute" ascending:YES];
    NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES selector:@selector(localizedStandardCompare:)];
    NSArray *descs = [NSArray arrayWithObjects:roleDes,permissionDes,videoDesc, muteDesc, sort,nil];
    [self.peopleListA sortUsingDescriptors:descs];

    [self.tableV reloadData];
    
}

最近在实现一个PDF阅读的功能。后期会分享出来。

相关文章

  • iOS按照权重排序

    最近项目中遇到一个需求。对成员列表进行排序。规则如下① 主持人永远在第一位,其余成员按授权>摄像头>麦克风>拼音排...

  • OBD 最古老的那篇

    简单来说,就是计算权重的二次导数,按照从小到大排序,设定一个阈值,删掉低于阈值的权重。

  • 多多进宝如何获取主站流量?

    多多进宝如何获取关键词流量 1.搜索关键词综合维度排序参考要素是什么? 一般搜索结果是按照权重排序的方式排列的,权...

  • iOS collectionView拖拽排序

    iOS collectionView拖拽排序 iOS collectionView拖拽排序

  • 基数排序

    多关键字如何排序 场景:员工表按照薪资排序,薪资相同的按照年龄排序尝试:先按照薪资排序(升序),再按照年龄排序(升...

  • iOS算法总结-堆排序

    iOS算法总结-堆排序 iOS算法总结-堆排序

  • iOS算法总结-冒泡排序

    iOS算法总结-冒泡排序 iOS算法总结-冒泡排序

  • 权重排序

    根据指定规则书写权重。 例如:根据查出表后,再从表中,取出当前时间到前30天的数据,以某个字段进行降序排序。然后,...

  • IOS按照拼音首字母排序

  • 按照字母排序

网友评论

      本文标题:iOS按照权重排序

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