プライベートCKRecordZoneにCKRecordを追加するには、ゾーンが既に存在することを確認する必要があります。CloudKitゾーンが既に存在するかどうかを確認する方法
しかし、レコードを挿入する必要があるたびに、すべてのゾーンを取得し、ゾーンが存在するかどうかをfetchAllRecordZonesWithCompletionHandler
で調べる必要がありますか?あまり効率的ではありません。
採用する最良の戦略は何ですか?
私が見たほとんどの例では、ゾーンを作成してレコードを追加する方法を示しています。しかし、ゾーンはあなたのためにすでに
let customZone = CKRecordZone(zoneName: self.zoneName!)
// Create a CKRecord
let lessonRecord = CKRecord(recordType: self.recordType, zoneID: customZone.zoneID)
おかげで作成されていない場合、以下のコードは失敗します、あなたは、ゾーンを毎回作成するつもりはありません、あなたはちょうどそれが存在すると仮定することはできません...
助けて。
それは私には変です。なぜダッシュボードからゾーンを作成できないのですか?これはまた、アプリケーションの開発版からゾーンを作成し、そのコードを削除して、ゾーンが存在すると仮定してリリースビルドでゾーンコードを再度使用しないことを意味しますか? (アプリケーションからゾーンを削除する方法も使用していません) – Jonny
ゾーンはプライベートデータベースにのみ存在します。誰かのプライベートデータベースにゾーンやレコードをあらかじめ書き込むことはできません。あなたのアプリを使用するユーザーごとに作成する必要があります。 – Duzmac
@Jonnyそれは開発版でゾーンを作成するのに良いことはありません。 1)ゾーンは、開発中の自分のプライベートデータベースにのみ存在します。 2)ゾーンはプロダクションプライベートデータベースに存在しません。 – rmaddy