OC - SortArray
#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;
}
#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
#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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
PHP 배열에서 요소의 값이 최대 값인 키 이름을 가져옵니다.Qiita 에 " "@ PHP 매뉴얼 데이터 최대값이 나타나는 순서대로 획득 결과 키를 정렬한 후 가져오기 결과 @ paiza.IO PHP v5.6.40, v7.1.33, v7.4.4 " "@ StackOverflo...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.