Я пытаюсь написать SUBQUERY для NSPredicate. Моя проблема заключается в том, что у меня нет запроса на предикатную часть SUBQUERY. Есть ли способ вложить NSPredicate внутри SUBQUERY?NSPredicate Внутри SUBQUERY
Например, это то, что я пробовал:
let ordersPredicate = NSPredicate()//some predicate passed in
//how do I use the ordersPredicate inside the subquery??
let subQueryPredicate = NSPredicate(format: "SUBQUERY(orders, $x,'%@')[email protected] > 0", ordersPredicate.predicateFormat)
Обновление: Я должен был сделать грязную обходной путь сейчас, выполнив первый предикат и делает ANY В запросе. Его хромой :(потому что я выполнения ordersPredicate в другом месте, а позже в трубопроводе ..
let fetchRequest = NSFetchRequest()//blah
fetchRequest.predicate = orderPredicate
let orders = //execute fetch
let subQueryPredicate = NSPredicate(format: "SUBQUERY(orders, $x, ANY $x in %@)[email protected] > 0", orders)
вы могли бы разместить свой класс Order/определение и объяснить, что вы хотите достичь? – vikingosegundo
в обходном пути вам не нужен подзапрос, 'любые заказы в% @' будут делать. W Вы устанавливаете 'returnObjectsAsFaults' значение false? – Willeke
Если вы хотите использовать предикат в подзапросе, предикат должен быть чем-то вроде '$ x.orderNumber = 10', с' $ x'. Можно преобразовать предикат, но может быть проще перепроектировать конвейер. – Willeke