2010-08-16 3 views
0

У меня есть объект с именем станции в моей системе с этими атрибутами:Objective-C Сортировка NSMutableArray объектов по конкретному объекту атрибута

@interface Station : NSObject { 
NSString *stationID; 
NSString *callsign; 
NSString *stationState; 
} 

У меня также есть NSMutableArray, содержащий 20 объектов «станции», как определено выше.

мне нужно определить метод, который может можно отсортировать этот массив в 2 способами: 1) stationID 2) По позывного

Может кто-то пожалуйста, объясните, как я могу это сделать?

+0

дубликат [Как отсортировать NSMutableArray с пользовательскими объектами в нем?] (Http://stackoverflow.com/questions/805547/how-to-sort- an-nsmutablearray-with-custom-objects-in-it) –

ответ

3

Я хотел бы использовать

NSInteger stationsSort(Station *station1, Station *station2, void *context) { 
    if (station1_greater_than_station2) { 
     return NSOrderedDescending; 
    } 

    if (station1_less_than_station2) { 
     return NSOrderedAscending; 
    } 

    return NSOrderedSame; 
} 

[myArray sortedArrayUsingFunction:stationsSort context:nil]; 
+0

Я бы порекомендовал вернуть подпись NSComparisionResult – vodkhang

+0

vodkhang, я согласен, моя ошибка. – kovpas

1

Посмотрите на NSPredicates. Это можно использовать для запросов и сортировки объектов в массивах.

Примеры приведены здесь также. http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/Predicates/Articles/pUsing.html

И NSSortDescriptor - с примерами. http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CoreData/Articles/cdFetching.html

Смежные вопросы