Я пытаюсь динамически создавать предикаты и выполнять выборку.Swift - динамически генерировать NSPredicate?
Значения могут быть либо строки или Int, когда и INT значение посылается NSPredicate инициализатор он выходит из строя из-за ошибки:
- [__ NSCFNumber rangeOfString]: непризнанные селектор направлен например
Я знаю, что проблема в формате% @ для Int, но есть ли способ сделать эту динамику, чтобы мне не пришлось вручную проверять String и Int, а затем создавать предикат?
var keyValues: [String: AnyObject]
var predicates: [NSPredicate]()
for (key, value) in keyValues {
var predicate = NSPredicate(format: "%K = %@", key: [value])
predicates.append(predicate)
}
var compundPredicate = NSCompoundPredicate.andPredicateWithSubpredicates(predicates)
Вы везде :) Спасибо за ответ, даст ему попробовать – aryaxt
Просто обновить код. NSCompoundPredicate изменился в swift 2, теперь вы должны использовать инициализатор 'NSCompoundPredicate (andPredicateWithSubpredicates: predicates)' – FouZ