在開發過程中,可能需要按照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"; liming.age = 18; Person *zhangjie = [[Person alloc] init]; zhangjie.name = @"zhangjie"; zhangjie.age = 20; Person *liuxin = [[Person alloc] init]; liuxin.name = @"liuxin"; liuxin.age = 17; Person *wanghua = [[Person alloc] init]; wanghua.name = @"wanghua"; wanghua.age = 16;
3、創建存儲數組
//創建存儲數組 NSMutableArray *personArray = [NSMutableArray array]; [personArray addObject:liming]; [personArray addObject:zhangjie]; [personArray addObject:liuxin]; [personArray addObject:wanghua];
4、按model年齡屬性 排序
//model 按年齡屬性 排序 NSArray *ageSortResultArray = [personArray 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;//相等 } }];
5、打印結果
//打印結果 for (Person *per in ageSortResultArray) { NSLog(@"per.age = %d",per.age); }
6、截圖