OC - SortArray
来源:互联网 发布:linux怎么禁ping 编辑:程序博客网 时间:2024/06/05 22:39
<main.m>
#import <Foundation/Foundation.h>#import "Person.h"int main(int argc, const char * argv[]){ @autoreleasepool { //创建四个 Person 对象 Person *per1 = [[Person alloc ] initWithName:@"zhangSan" sex:@"male" age:@"25"]; Person *per2 = [[Person alloc] initWithName:@"liSi" sex:@"female" age:@"22"]; Person *per3 = [[Person alloc] initWithName:@"maHuaTeng" sex:@"male" age:@"38"]; Person *per4 = [[Person alloc] initWithName:@"maYun" sex:@"male" age:@"40"]; //放入数组 NSMutableArray *array = [NSMutableArray array]; //添加 [array addObject:per1]; [array addObject:per2]; [array addObject:per3]; [array addObject:per3]; [array addObject:per4];// [@"a"compare:@"b"]; //按自己的需求为其排序(添加核实的方法) [array sortUsingSelector:@selector(compareByNameWithOther:)]; NSLog(@"%@",array); [array sortUsingSelector:@selector(compareByAgeWithOther:)]; NSLog(@"%@",array); } return 0;}
<Person.h>
#import <Foundation/Foundation.h>@interface Person : NSObject{ NSString *_name; NSString *_sex; NSString *_age;}-(id)initWithName:(NSString *)name sex:(NSString *)sex age:(NSString *)age;-(void)setName:(NSString *)name;-(NSString * )name;-(void)setSex:(NSString *)sex;-(NSString *)sex;-(void)setAge:(NSString *)age;-(NSString *)age;//规定输出格式的方法-(NSString *)description;//按姓名排序-(NSComparisonResult)compareByNameWithOther:(Person *)anotherPerson;//按年龄排序-(NSComparisonResult)compareByAgeWithOther:(Person *)anotherPerson;@end
<Person.m>
#import "Person.h"@implementation Person-(id)initWithName:(NSString *)name sex:(NSString *)sex age:(NSString *)age{ if ([super init]) { _name = name; _sex = sex; _age = age; }return self;}-(void)setName:(NSString *)name{ _name = name;}-(NSString * )name{ return _name;}-(void)setSex:(NSString *)sex{ _sex = sex;}-(NSString *)sex{ return _sex;}-(void)setAge:(NSString *)age{ _age = age;}-(NSString *)age{ return _age;}-(NSString *)description{ return [NSString stringWithFormat:@"name:%@,sex:%@,age:%@",_name,_sex,_age];}//按姓名排序-(NSComparisonResult)compareByNameWithOther:(Person *)anotherPerson{ if ([self.name compare:anotherPerson.name] > 0 ) { //如果当前的名字大于传入的名字大于传入的名字,则返回降序 return NSOrderedDescending; }else if([self.name compare:anotherPerson.name] < 0){ //如果当前的名字小于传入的名字大于传入的名字,则返回升序 return NSOrderedAscending; } //如果都不满足,则是相等 return NSOrderedSame; }//按年龄排序-(NSComparisonResult)compareByAgeWithOther:(Person *)anotherPerson{ if ([self.age compare:anotherPerson.age] > 0) { return NSOrderedDescending; }else if ([self.age compare:anotherPerson.age] < 0){ return NSOrderedAscending; } return NSOrderedSame;}@end
0 0
- OC - SortArray
- oc
- oc
- OC
- OC
- OC
- oc
- oc
- oc
- OC
- OC
- oc
- oc
- OC
- OC
- OC
- oc
- oc
- hdu 3986 Harry Potter and the Final Battle spfa变形
- UVa 439-Knight Moves
- Oracle开发中的正则表达式
- PLSQL操作Oracle创建用户和表
- visualsvn在win8下本地内网使用架设小记
- OC - SortArray
- leetcode 138 —— Copy List with Random Pointer
- A - Dungeon Master
- 小白学开发(iOS)OC_ 字符串的比较判断(2015-08-12)
- Python爬虫之<单线程爬虫>
- 解决 Linux Mint 17.2 Nvidia驱动下屏幕亮度无法调节问题
- RHEL6.5上Oracle ACFS与Linux samba一起使用时遇到的bug
- JDK各个版本的新特性jdk1.5-jdk8
- ZedBoard的简单测试