Я хотел бы иметь возможность искать отношения объекта с использованием предложения IN. У меня есть следующие настройки: Исходные данные NSPredicate для определения отношения сущностей, используемые в разделе
Я хотел бы отправить через массив прозвища и найти все лица, связанные с этими прозвищами.
//array of names to find
let nameArray: [String] = ["Tom", "Tommy", "Thomas"]
// find all Persons who have a nickname associated with that person
let predicate = NSPredicate(format: "ANY Person.nickName in %@",nameArray)
var fetch = NSFetchRequest(entityName: "Person")
fetch.predicate = predicate
var fetchError : NSError? = nil
// executes fetch
let results = context?.executeFetchRequest(fetch, error: &fetchError)
Но когда я запускаю код, я получаю следующее сообщение об ошибке:
'NSInvalidArgumentException', причина: «нереализованное поколение SQL для предиката: (ANY Person.nickName IN { "Том"," Tommy "," Thomas "}) '
Что я здесь делаю неправильно? Если я удалю поиск предикатов, он вернет все результаты в порядке, но как только я добавлю эту строку, все сломается.
спасибо! что исправила мою проблему – slidmac07
Добро пожаловать! CoreData может быть сложным, никогда не сдаваться! :) – Para
@Para вы можете сказать мне объективную альтернативу C для этого быстрого кода? – SARATH