2
NSPredicateにSUBQUERYを書き込もうとしています。私の問題は、私はSUBQUERYの述語部分のために手元にあるクエリを持っていないということです。 SUBQUERYの中にNSPredicateをネストする方法はありますか?サブスクライバ内のNSPredicate
は、例えば、これは私が試したものです:
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)
アップデート:私は最初の述語を実行し、クエリのいずれかの実行して、今の汚い回避策をしなければなりませんでした。そのラメ:(私も後でパイプラインの他の場所ordersPredicateを実行していますので..私は解決策を考え出すことができました@Willekeからいくつかのポインタへ
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
あなたはサブクエリを必要としないこの問題を回避するには、 'ANY注文を%を@に'行いますです。 Wあなたは 'returnObjectsAsFaults'をfalseに設定していますか? – Willeke
サブクエリで述語を使用したい場合、述語は '$ x.orderNumber = 10'のようなもので' $ x'とする必要があります。述部を変換することは可能ですが、パイプラインを再設計する方が簡単かもしれません。 – Willeke