美文网首页
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按照权重排序

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