1

ネストされた関係の1つとして、次のようにします。

NSMutableArray *allClusters = [NSMutableArray arrayWithArray:[form.clusters allObjects]];

しかし、私は何をすべきですか?:

NSMutableArray *allQuestions = [NSMutableArray arrayWithArray:[form.clusters.questions allObjects]];

クラスターと質問はどちらも1対多の関係です。

どんな助けでも大歓迎です

4

2 に答える 2

2
    NSSet *allQuestionsOfForm = [form valueForKeyPath:@"clusters.questions"];

編集:

上記のコードは、glorifiedHackerが言ったようにネストされたセットを返します。フラット化されたセットを取得するには、次を使用します。

    NSSet *allQuestionsOfForm = [form valueForKeyPath:@"clusters.@distinctUnionOfSets.questions"];
于 2012-06-07T20:43:31.013 に答える
1

ネストされたセットを扱っているように見えるので、おそらく親セットを反復処理して子セットのアイテムを収集する必要があります。

NSMutableArray *allQuestions = [NSMutableArray array];

for(Cluster *cluster in form.clusters) {
    [allQuestions addObjectsFromArray:[cluster.questions allObjects]];
}

これが目的ではない場合は、元の質問にさらに詳細を追加する必要があります。

于 2012-06-07T20:24:19.410 に答える