J'ai écrit mon modèle de données local en utilisant des données de base. Il est orienté objet, j'ai donc quelque chose comme ça dans mon modèle Core Data:Conception de schéma 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
}
Maintenant en CloudKit, je me rends compte si je veux obtenir une « paire » et toutes ses données, et je fais " Personne "et" Adresse "CKReference
alors je vais devoir chercher" Personne "et" Adresse "qui est deux appels réseau supplémentaires et beaucoup de logique pour gérer leurs résultats de manière asynchrone. Je pensais donc à "dénormaliser" ces données et à tout mettre dans une "paire" CKRecord
dans le schéma CloudKit, sans aucune CKReference
s. Donc, plus le long des lignes de ce:
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
}
est-il légitime de concevoir mon schéma CloudKit cette façon d'éviter le réseau supplémentaire Fetch appels à CKReferences?