Ядро данных упорядочено в случае - PullRequest
0 голосов
/ 07 февраля 2020

Я учусь получать данные с помощью Core Data в Swift5. Как я могу преобразовать следующую сортировку, в которой используется «случай, когда»?

SELECT * 
FROM City
ORDER BY CASE
     WHEN name = 'PQR' THEN 0
     WHEN name = 'Others' THEN 1
     ELSE 2 END,
     surname ASC

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

1 Ответ

1 голос
/ 12 февраля 2020

Вы не можете выполнять такую ​​сортировку в выборке CoreData.

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

edit: еще один вариант, который будет работать в вашем случае выше, - это просто использование трех отдельных выборок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...