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