iOS 对model数组排序

2018-11-19  本文已影响28人  夏天爱西瓜汁

数组【model1,model2,m3,m4,m5,m6,m7,m8,m9,m10。。。】
不知道什么原因,导致数组中model的位置混乱了,如【m1,m2,m3,m5,m6,m7,m4,m8,m9,m10。。。】
着急解决但是还未找到问题所在,就先用这个方法代替一下,后边再找原因吧。
由于需要根据model的一个属性俩排序,而且这个属性是字符串,排序如下

//此时不能用这种方法排序了,这种方法比较的是字符串,不是数字大小,得到的结果是1,10,11,12,,,20,21,22
NSSortDescriptor *levelDes = [NSSortDescriptor sortDescriptorWithKey:@"currentLevel" ascending:YES];//yes升序,no降序
self.challengeModels = [[self.challengeModels sortedArrayUsingDescriptors:@[levelDes]] mutableCopy];

//用这个方法
self.datas = [self.datas sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
        ChallengeModel *m1 = obj1;
        ChallengeModel *m2 = obj2;
        if ([m1.currentLevel integerValue] > [m2.currentLevel integerValue]) {
            return NSOrderedDescending;
        }
        return NSOrderedAscending;
}];

上一篇 下一篇

猜你喜欢

热点阅读