Core Dataを使用してローカルデータモデルを作成しました。これは、オブジェクト指向であるので、私は私のコアデータモデルではこのようなものを持っている:CloudKitスキーマデザイン
今CloudKitで、私は「私は「ペア」とそのデータのすべてを取得したい、と私が作る場合は実現していますclass Pair {
var uuid: NSUUID
var me: Person
var friend: Person
}
class Person {
var name: String
var birthday: NSDate
var address: Address
}
class Address {
var streetNumber: Int16
var streetName: String
var zip: Int16
}
Person "と" Address "CKReference
私は" Person "と" Address "という2つの余分なネットワーク呼び出しとその結果を非同期的に処理する多くのロジックをフェッチしなければなりません。そこで、私はこのデータを「非正規化」し、CloudKitスキーマのCKRecord
に「CKReference
」を含まない「ペア」にすることを考えていました。だから、この線に沿ってより:
class CloudKitPair {
var uuid: NSUUID
var myName: String
var myBirthday: NSDate
var myStreetNumber: Int16
var myStreetName: String
var myZip: Int16
var friendName: String
var friendBirthday: NSDate
var friendStreetNumber: Int16
var friendStreetName: String
var friendZip: Int16
}
は、余分なネットワークがCKReferencesのコールをフェッチ避けるために、このように私CloudKitスキーマを設計することは正当ですか?