0

私はコアデータの述語で自分自身を結び目に結び付けることができました-おそらく、頭の中でSQLからコアデータの概念に変換しようとしているからです...

1 対多の関係で結合されている 2 つのNSManagedObjectクラスがあります。

Customer <---->> Agreements

Customer  has-many  Agreements

Agreement has-one Customer

このAgreementクラスには、 と呼ばれるブール型のプロパティがありますpaymentRequired

私がやろうとしているのは、プロパティが に設定されCustomersているものをすべて取得することです。AgreementpaymentRequiredtrue

SQL 用語では、これはサブクエリで実行できると思います。

select CUSTOMER.NAME from CUSTOMER where CUSTOMER.ID in (select distinct AGREEMENT.CUSTOMER from AGREEMENT where AGREEMENT.PAYMENTREQUIRED = 1)

Core Data からフラグを設定して を取得するのに問題はありませんがAgreements、個別の を取得するのに苦労していCustomersます。

誰が私が間違っているのか教えてもらえますか?

4

1 に答える 1

1
[NSPredicate predicateWithFormat:@"ANY agreements.paymentRequired == 1"];

ドキュメントは短いPredicate Programming Guideにあります。最初のページ (紹介) に、問題の解決策があります。最終的にSQLイディオムから精神的に切り離すために、これを読むことをお勧めします。

于 2012-12-14T14:07:53.483 に答える