iOS数组模型根据模型属性排序

一、 model.h
#import <Foundation/Foundation.h>

@interface NewMembersModel : NSObject
/** 申请医生id */
@property (nonatomic, assign) NSInteger doctorId;
/** 医生申请的团队id */
@property (nonatomic, assign) NSInteger teamId;
/** 申请的团队名称 */
@property (nonatomic, copy) NSString *teamName;
/** 申请id 当state==2的时候为nil */
@property (nonatomic, assign) long applyForId;
/** 医生头像 */
@property (nonatomic, copy) NSString *headImg;
/** 医生名字 */
@property (nonatomic, copy) NSString *name;
/** 当前状态 1申请中 2已同意 3已取消 4已拒绝 */
@property (nonatomic, assign) NSInteger state;
/** 操作时间 */
@property (nonatomic, copy) NSString *times;

@end
二、 下面两个排序方法均在数据请求成功后进行操作
2.1、根据单个属性升序排序
self.dataArray = [NewMembersModel mj_objectArrayWithKeyValuesArray:response[@"data"]];
// 排序key, 某个对象的属性名称,是否升序, YES-升序, NO-降序
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"state" ascending:YES];
// 排序结果
self.tempArr = [self.dataArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
2.2、根据多个属性一个升序一个降序排序
self.dataArray = [NewMembersModel mj_objectArrayWithKeyValuesArray:response[@"data"]];
// 排序key, 某个对象的属性名称,是否升序, YES-升序, NO-降序
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"state" ascending:YES];
NSSortDescriptor *sortDescriptor1 = [NSSortDescriptor sortDescriptorWithKey:@"doctorId" ascending:NO];
// 排序结果
self.tempArr = [self.dataArray sortedArrayUsingDescriptors:[NSArray arrayWithObjects:sortDescriptor, sortDescriptor1, nil]];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,671评论 8 265
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,067评论 19 139
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,020评论 3 119
  • 俄——中 1)Сейчас два часа, а соседка кончит работат в пять. ...
    肥兴CC阅读 389评论 0 0
  • 简单的记录下最近自己在学习区块链的笔记,随着比特币的价格越来越高,区块链的概念也越来越火。我简单的把区块链理解成存...
    maxZhang阅读 3,721评论 4 1