0

CloudKit ダッシュボードを使用してレコードを作成したため、レコードはプログラムでは作成されません。「デフォルト ゾーン、モデル データ」の下 (申し訳ありませんが、画像を投稿するには少なくとも 10 件の評判が必要です.. :/ ) テキスト バージョンは次のとおりです。

"EventRef0 975f5715-3ccd-4c5f... DeleteSelf 参照"

したがって、作成したレコードには、このような参照フィールドが 3 つあります。「デフォルトゾーン、イベント」の下に。これらのレコードの 1 つには、次のヘッダーがあります。

ID: 975f5715-3ccd-4c5f...

作成日:2015 年 1 月 20 日 19:00 作成者: _ac6625... 更新者: 更新者:

私の質問は次のとおりです。

1) EventRef0 の「参照」フィールドには何を入力しますか? 私が現在持っているイベントID、または何か他のもの?

2) 参照したい 3 つのイベントに対して 3 つの参照を作成するという、複数の参照を作成する正しい方法はありますか?

3) イベントをフェッチしたい場合、配列への 1 回の呼び出しですべての CKReferences をフェッチしてから、その配列にインデックス付けされたイベント データをフェッチできますか、それとも各イベントを取得するために個別の呼び出しを行う必要がありますか? 「参照」属性をキー入力することで、配列内のすべての参照を取得する方法があることを望んでいました。それが可能かどうかはわかりません。できればSwiftでお願いします。

どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

0

複数の「イベント」recordType オブジェクトへの参照を持つ「データ」recordType がある場合は、CKReference が「データ」オブジェクトを指す「イベント」recordType に CKReference を追加する必要があります。したがって、データ オブジェクトは「イベント」オブジェクトへの CKReference を持つ必要はありません。「データ」オブジェクトの ID について CKReference フィールドを照会することにより、すべてのイベント オブジェクトを取得できます。

次のような述語を使用して、「events」recordType をクエリするだけです。

CKReference* recordToMatch = [[CKReference alloc] initWithRecordID:dataID action:CKReferenceActionNone];
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"dataID == %@", recordToMatch];
于 2015-01-24T15:59:54.127 に答える