태그 값을 기반으로 객체의 NSArray를 정렬 할 수 있기를 원합니다. 태그가 0이면 연결의 끝으로 밀어 넣으려고합니다.파생 된 값을 기반으로 NSArray를 정렬 ... 장애가 있습니까?
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"tag" ascending:TRUE];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray = [self.array sortedArrayUsingDescriptors:sortDescriptors];
이렇게하면 색인 앞에 모든 태그가있는 객체가 반환됩니다 (꼭 그래야 함).
전방에 태그 값> 0을 넣고 끝에 0으로 모든 태그 값을 지정하고 싶습니다. 블록 일하는 것이 비록
는I, 비슷한 : 나는 in another SO question을 발견
NSArray *sortedArray;
sortedArray = [drinkDetails sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {
NSDate *first = [(Person*)a birthDate];
NSDate *second = [(Person*)b birthDate];
return [first compare:second];
}];
,하지만 확실 어떻게 조건
if (obj.tag == 0) {
// push to end of array
}
어떤 제안을 추가하는?
첫 번째> 0, 두 번째 == 0이 올바르게 처리되지 않은 것으로 보입니다 (NSOrderedAscending을 반환해야 함). –
Martin R은 정확합니다. 더 큰 샘플로 테스트했으며 태그 앞에 0이 여전히 붙습니다. – Padin215
첫 번째 if-block 다음에'if (second == 0) return NSOrderedAscending;을 추가하십시오. –