가 마법 없다, 그러나 그것은 하나, 무료 아니에요. :) 당신은 -[NSArray sortedArrayUsingComparator:]
을 찾고 있습니다. 배열이 NSMutableArray
이면 -[NSMutableArray sortUsingComparator:]
을 사용할 수 있습니다.
비교자는 NSComparisonResult
을 반환하고 두 개의 개체를 사용하는 블록입니다. 여기 NSObjCRuntime.h
의 정의는 다음과 같습니다
typedef NSComparisonResult (^NSComparator)(id obj1, id obj2);
블록은, 개체을 사전에 캐스팅의 구형으로 각 후면에서 NSValues를 추출하고 X이 필드를 좌표 비교 한 결과를 반환해야합니다.
Psuedocode, 가정 NSMutableArray
:
[myArray sortUsingComparator:^(id obj1, id obj2) {
NSDictionary *dict1 = (NSDictionary *)obj1;
NSDictionary *dict2 = (NSDictionary *)obj2;
// Extract each of the NSValues
// Compare the x values
if (xValue1 == xValue2) return NSOrderedSame;
return (xValue1 < xValue2) ? NSOrderedAscending : NSOrderedDescending;
}];
YESSSSSSSSSSSSSS! 나는 너희들이 마술사라는 것을 알았다 !!!!! 감사! – SpaceDog