NSPredicate в Core Data Fetch для режима в Swift - PullRequest
0 голосов
/ 15 января 2019

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

NSPredicate позволяет использовать слова max или min.

let predicate = NSPredicate(format: "coordinate == max(coordinate)")

Есть ли эквивалент для режима, как в:

let predicate = NSPredicate(format: "coordinate == mode(coordinate)")

1 Ответ

0 голосов
/ 16 января 2019

Краткий ответ, нет.

Синтаксис предиката похож на ограниченную версию SQL. Документация показывает, что mode не является частью синтаксиса.

https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Predicates/Articles/pSyntax.html

Или, расширив это, вы можете использовать KVC Collection Operators для некоторых простых операций (max / min / avg…)

https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/KeyValueCoding/CollectionOperators.html

Для этого вам нужно испечь собственный алгоритм.

Эта статья предлагает кое-что, что вы могли бы изучить.

https://nshipster.com/kvc-collection-operators/

...