Как уже упоминалось @Larme в комментариях, вам следует рассмотреть возможность использования Swifts Array.filter()
.
Однако, если вы хотите или должны по какой-то причине использовать NSPredicate
, вы можете сделать это также. Обратите внимание, что предикат используется для проверки каждого элемента в массиве. Поэтому keyPath, используемые в предикате, должны быть заданы относительно элемента.
Следовательно, предикат должен быть: let searchPredicate = NSPredicate(format: "name CONTAINS[c] %@", text)