iOS给Model排序

今天有朋友问我怎么给Model排序,我顺便写了一个,伸手党直接复制吧.

Person *per = [[Person alloc] init];

per.name = @"z";

per.age = 89;

Person *per1 = [[Person alloc] init];

per1.name = @"h";

per1.age = 18;

Person *per2 = [[Person alloc] init];

per2.name = @"l";

per2.age = 44;

NSMutableArray *array = [NSMutableArray array];

[array addObject:per];

[array addObject:per1];

[array addObject:per2];

NSArray *resultArray = [array sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {

Person *per1 = obj1;

Person *per2 = obj2;

if (per1.age > per2.age) {

return NSOrderedDescending;//降序

}else if (per1.age < per2.age)

{

return NSOrderedAscending;//升序

}else

{

return NSOrderedSame;//相等

}

}];

for (Person *per in resultArray) {

NSLog(@"per.age = %ld",per.age);

}

时间: 2024-09-27 07:40:04

iOS给Model排序的相关文章

iOS自定义model排序

在开发过程中,可能需要按照model的某种属性排序. 1.自定义model @interface Person : NSObject @property (nonatomic,copy) NSString *name; @property (nonatomic,assign) int age; @end 2.创建model对象 //创建model Person *liming = [[Person alloc] init]; liming.name = @"liming"; limin

iOS开发之排序方法比较

在开发应用程序的时候,有时我们需要对一组无序的内容进行排序,iOS中有系统自带的方法来对NSAray进行排序,我们来对这些方法进行性能上的对比: NSComparator排序 NSDescriptor排序 function排序 quickSort排序 由于排序的对象经常是自定义的,因此我们定义一个如下的对象: @interface Topic : NSObject @property (nonatomic, assign) NSInteger ID; @property (nonatomic,

IOS数组自动排序

self.beacons = [beacons sortedArrayUsingComparator:^NSComparisonResult(BRTBeacon* obj1, BRTBeacon* obj2){ return obj1.distance.floatValue>obj2.distance.floatValue?NSOrderedDescending:NSOrderedAscending; }]; 数组的自动排序: 通过比较的方法进行   排序

ios 开发 NSArray 排序

针对NSString字符串的排序 方法一: NSArray *ary = @[@"a3",@"a1",@"a2",@"a10",@"a24"]; NSLog(@"%@",ary); NSArray *myary = [ary sortedArrayUsingComparator:^(NSString * obj1, NSString * obj2){     return (NSComp

iOS开发——model类模板(过滤null和ID)

        说明:model类模板已默认过滤null值,附加特殊情况的关键字ID名的冲突(需手动去掉注释代码).MyMessageModel为示例的名字.可以自己随便起. 1.自己创建一个继承与NSObject的类,用于当model数据模型用.然后在.h文件中根据接口文档或者json返回数据的添加相应属性.    并复制以下model类模板代码.h文件的- (instancetype)initWithDictionary:(NSDictionary *)dictionary;方法到自己创建的

IOS UITableView拖动排序功能

UITbableView作为列表展示信息,除了展示的功能,有时还会用到删除,排序等功能,下面就来讲解一下如何实现排序. 排序是当表格进入编辑状态后,在单元格的右侧会出现一个按钮,点击按钮,就可以拖动单元格,移动位置,进行手动排序. 使用系统自带拖动排序功能的步骤: 1.让tableView进入编辑状态,也就是设置它的editing为YES 2.返回编辑模式,也就是实现UITableViewDelegate中的tableview:editingStyleForRowAtIndexPath:方法,在

ios学习笔记---排序算法

排序算法 1.概念 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作.排序算法,就是如何使得记录按照要求排列的方法. 2.选择排序算法时常用的几个参照 a.稳定性 假定在带排序的记录序列中,存在多个具有相同关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri = rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的:否则称为不稳定的. b.时间复杂度 c.空间复杂度 3.算法 冒泡排序 选择排序 插入排序

IOS数组的排序和筛选

1.排序 [self.tableItems sortUsingComparator:^NSComparisonResult(GPBTeacherBrief* obj1, GPBTeacherBrief* obj2) { if (obj1.distanceFromMe < obj2.distanceFromMe) { return NSOrderedAscending; }else if(obj1.distanceFromMe == obj2.distanceFromMe){ return NSO

iOS保存model数据(自定义Model 可以存放到本地)

1.先创建类目类:继承于NSUserDefaults 2其次前提:保存的model要实现NSCoding 3.在自定义的类目实现这两个方法 -(void)setCustomObj:(id)obj forKey:(NSString *)key; -(id)customObjForKey:(NSString *)key; 在自定义的类目中实现这两个方法 -(void)setCustomObj:(id)obj forKey:(NSString *)key { if ([obj respondsToSe