iOS NSMutableArray sortedArray 예제.
익숙한 예제이다.
오늘 너무 바쁘다. 블로그 포스팅을 할 여력이 없는 관계로 빈약하지만 유용한 함수 하나 투척하고 퇴근 준비해야겠다.
보통 서버로부터 받은 JSON을 Objective-C구조로 객체화를 해서 사용하는 편인데, 리스트 형태로 받은 값을 ASC/DESC 정렬을 하는 기능이 있을 때 유용하게 사용할 수 있는 함수다.
- (NSMutableArray*)sortInfoList:(NSArray*)arr order:(BOOL)asc{
if (arr == nil || arr.count == 0)
return nil;
__weak __typeof(self)weakSelf = self;
NSArray *sortedArray = [arr sortedArrayUsingComparator:^NSComparisonResult(ListItem *p1, ListItem *p2){
NSString *key = [NSString stringWithFormat:@"%ld",(long)weakSelf.selectedIndex+1];
NSArray *arr1 = p1.grade;
NSArray *arr2 = p2.grade;
NSDictionary *dics1 = [arr1 objectAtIndex:weakSelf.selectedIndex];
NSDictionary *dics2 = [arr2 objectAtIndex:weakSelf.selectedIndex];
NSString *obj1 = [dics1 objectForKey:key];
NSString *obj2 = [dics2 objectForKey:key];
if ([obj1 floatValue] > [obj2 floatValue]){
if(asc) return NSOrderedDescending;
else return NSOrderedAscending;
}
else if ([obj1 floatValue] < [obj2 floatValue]){
if(asc) return NSOrderedAscending;
else return NSOrderedDescending;
}
return NSOrderedSame;
}];
return [NSMutableArray arrayWithArray:sortedArray];
}
'프로그래밍 > Xcode-iOS' 카테고리의 다른 글
setInputAccessoryView 와 setAutocorrectionType (0) | 2019.10.17 |
---|---|
NSPredicate 간단한 사용법 (0) | 2019.10.11 |
NSStringFromCGRect 사용예 (0) | 2019.09.24 |
Fixed width constraints may cacuse clipping (0) | 2019.09.19 |
iOS custom font 출력 및 지원되는 fontFamily 정보 (ios 12.3.1, iPhone6 기준) (0) | 2019.09.18 |