2015-04-26 2 views
-3

У меня есть NSArray из CoreData объектов, внутри у меня есть 2 атрибута: месяц и год. Я хочу сортировать массив по годам, а затем по месяцам.Сортировка массива объектов по 2 атрибутам даты

DbDate 1: month: 04 year: 2010

DbDate 2: month: 04 year: 2012

DbDate 3: month: 06 year: 2011

DbDate 4: month: 05 year: 2015

Я хочу, чтобы отсортировать их, чтобы быть внутри массива:

DbDate 1 DbDate 3 DbDate 2 DbDate 4

Как я мог это сделать?

+1

Вы можете начать с чтения документации для NSArray. –

+0

Что это значит? –

+0

Что, документация? Он сообщает вам все, что вы можете сделать с NSArray. –

ответ

1
// If you have an array: 
NSArray *arrayOfObject; 

NSSortDescriptor *sortByYear = [NSSortDescriptor sortDescriptorWithKey:@"year" ascending:YES]; 
NSSortDescriptor *sortByMonth = [NSSortDescriptor sortDescriptorWithKey:@"month" ascending:YES]; 
NSArray *sorts = @[sortByYear, sortByMonth]; 

NSArray *orderedArray = [arrayOfObject sortedArrayUsingDescriptors:sorts]; 

// If you want fetch the object ordered, from Core Data. 
NSFetchRequest *yourFetchReques = [[NSFetchRequest alloc] init]; 
// Set your entity... 
[yourFetchReques setSortDescriptors:sorts]; 
// .... Your code to make the request... 
+0

Отличный ответ, спасибо! –

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