3

属性genreIDとparentGenreIDを持つ「Genre」という名前のエンティティがあります。parentGenreIDが行のgenreIDと等しいGenreエンティティの数を取得する動的属性を作成して、返された各行の数を照会する必要がないようにします。

SQLでこれを行う場合は、次のクエリを使用します。

SELECT g.title, (SELECT COUNT(*) FROM genres sg WHERE sg.parentGenreID = g.genreID) as subgenres FROM genres g

おそらくフェッチされたプロパティが答えになると思っていましたが、それらはNSArrayとして返されるようです。それでも、適切な構文が何であるかを理解しようとしています。

私の最善の推測は次のようなものです:

SUBQUERY(Genre, $genre, $genre.parentGenreID = $FETCH_SOURCE.genreID).@count

CoreDataでこれを行う正しい方法は何でしょうか?

4

1 に答える 1

-1

を使用するNSPredicateと、条件をどこに置くことができますparentGenreID=genreID。を使用する代わりにexecuteFetchRequest、使用してカウントを取得し、期待どおりにタイトルを含むレコードを返すcountForFetchRequestNSPredicatesubgenres INを使用します。executeFetchRequest

于 2013-03-15T05:10:55.500 に答える