0

場所名、場所の距離、ユーザー名などのさまざまな属性を持つクラスがあります。このクラス オブジェクトを配列内に格納しています。距離に従ってこのオブジェクト配列を並べ替えたいです。どうすればよいですか。いくつかのコードで提案してください。

4

2 に答える 2

1
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"placeDistance" ascending:TRUE];
[your array sortUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]]
于 2012-11-07T10:27:05.617 に答える
0
NSArray* array...
NSArray* sorted_array = [array sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
    YourClass* a = (YourClass*)obj1;
    YourClass* b = (YourClass*)obj2;
    /*
    return NSComparisonResult based on a property comparison here,
    for example, return [a.distance compare:b.distance] if distance is an NSNumber
    */
}];

句読点を無視したソート (Objective-C) によく似ています。

于 2012-11-07T10:29:04.517 に答える