Core Data NSSortDescriptor с двумя ключами

Можно ли отсортировать запрос по более чем одному ключу атрибута Core Data?

sort1 = NSSortDescriptor(key: "list_item", ascending: true, selector: #selector(NSString.caseInsensitiveCompare))
sort2 = NSSortDescriptor(key: "list_item_completed", ascending: true)

request.sortDescriptors = [sort1]
//request.sortDescriptors = [sort1, sort2]

Я пробовал создать массив и добавить его в sortDescriptor, но он отражал только первую сортировку. Я даже попытался использовать sortDescriptors последовательно, но безуспешно:

request.sortDescriptors = [sort1]
request.sortDescriptors = [sort2]

person Stingalingaling    schedule 25.05.2018    source источник
comment
request.sortDescriptors = [sort1, sort2] правильный путь. Если это не сработает, вам придется привести конкретный пример фактического и ожидаемого результата.   -  person Martin R    schedule 25.05.2018


Ответы (1)


Второй дескриптор сортировки применяется только в том случае, если первый дескриптор сортировки возвращает равные значения для сравниваемых объектов.

Я предполагаю, что вы хотите показать список элементов, завершенных первыми, в алфавитном порядке, а затем снова в алфавитном порядке. В этом случае сначала нужно добавить sort2 в массив, а затем добавить sort1.

person Arvind Abi    schedule 29.05.2018