美文网首页
iOS中数组排序 对象属性排序

iOS中数组排序 对象属性排序

作者: 43e94cd120e0 | 来源:发表于2019-03-08 12:48 被阅读0次

    在开发中,经常会用到排序功能,数组排序比较常见,但是在Objective-C中没有像swift一样的直接针对对象某个属性排序的方法,需要自己创建NSSortDescriptor对象,在根据对象的配置,对数组进行排序

    1.Objective-C中排序的方法:

        //1.获取对象数组

        NSArray *homeVisibleCellIndexPaths = [self.collectionView indexPathsForVisibleItems];

        //2.将数组中的cell 根据indePath中Row,从小到大排序

        NSSortDescriptor *sortDescriptor;

        sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"row"

                                                    ascending:YES];

        NSArray *sortedArray = [homeVisibleCellIndexPaths sortedArrayUsingDescriptors:@[sortDescriptor]];

    注意:ascending:传YES 表示从小到大排序 1,2,3,4,5 ----> ...

                              传NO表示从大到小排序  10,9,8,7,6,5,4,3...

    2.Swift中根据对象属性排序的方法:

            //1.创建一个数组

            var currentHomeVisibleCells = collectionView.indexPathsForVisibleItems

            //根据IndexPath.row从小到大 进行排序

            currentHomeVisibleCells.sort { (i1 : IndexPath, i2 : IndexPath) -> Bool in

                return i1.row < i2.row

            }

    注意: i1.row < i2.row 表示从小到大排序 1,2,3,4,5.....

            i1.row > i2.row  表示从大到小排序  5,4,3,2,1....

    该方法是直接对数组进行操作

    未完待续....

    相关文章

      网友评论

          本文标题:iOS中数组排序 对象属性排序

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