Это метод, который вы будете использовать на NSMutableArray
, который хотите отсортировать.
- (void)sortUsingDescriptors:(NSArray *)sortDescriptors
Итак, вы хотите отсортировать массив объектов Урока.Параметр NSArray
будет массивом NSSortDescriptor
объектов.
NSSortDescriptor описывает, как вы собираетесь сортировать объект на основе его свойств.Таким образом, в вашем случае сортировки объектов урока вы собираетесь отсортировать некоторые или все имеющиеся у вас строковые свойства.
Это дескриптор сортировки для вашего объекта урока, мы будем сортировать его по их свойству time1.
NSSortDescriptor *time1Descriptor = [[NSSortDescriptor alloc] initWithKey:@"time1" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)];
Ключевым параметром является свойство ваших объектов, которое вы хотите сравнить (или выможет использовать time2, premedt, ect).Свойство ascending является логическим для того, хотите ли вы, чтобы отсортированные значения возвращались в возрастающем или убывающем порядке.Свойство селектора - это метод, который будет использоваться для сравнения свойств вашего объекта.
Теперь вернемся к NSArray
дескрипторам сортировки.В этот момент вы начнете создавать свой массив дескрипторов сортировки.
NSArray *sortDescriptorArray = [[NSArray alloc] initWithObjects:time1Descriptor, nil];
И передадите этот массив дескрипторов сортировки в оригинальный метод: - (void)sortUsingDescriptors:(NSArray *)sortDescriptors
[myArrayOfLessions sortUsingDescriptors:sortDescriptorArray];
Ваш исходный массивуроков теперь отсортировано.