私はCloudkitに2つのレコードタイプがあります。サービスと目標をし、それがエンティティに対応:Service
とGoal
をcoredataモデルに。私はそれらを作成、更新、または削除することができます。問題は削除に関することです。CKQueryNotificationのベースを削除するエンティティはどのように知っていますか?
CloudKitを使用して保留中の通知を取得します。 queryNotificationReason
プロパティに基づいてどのような操作を行うかを判断できます。それが削除の場合、関連するIDを持つコアデータデータベースから削除する必要があるプロパティの種類を判断する方法はありません。
どうすればよいですか?これまでのところ、私はレコードIDのために、このようにそれをやった私はCKQueryNotification
から入手:
class func delete(with recordID: CKRecordID) {
MagicalRecord.save({ context in
if let service = Service.find(withIdentifier: recordID.recordName, in: context) {
service.mr_deleteEntity(in: context)
} else if let goal = Goal.find(withIdentifier: recordID.recordName, in: context) {
goal.mr_deleteEntity(in: context)
}
})
}
質問を明確にする必要があります。それは曖昧です。 – rmaddy
私は質問を更新しました... –