gpt4 book ai didi

ios - 我怎么知道要根据 CKQueryNotification 删除哪个实体?

转载 作者:行者123 更新时间:2023-11-28 16:01:31 25 4
gpt4 key购买 nike

我在 Cloudkit 中有两种记录类型:ServiceGoal,它对应于实体:ServiceGoal 在核心数据模型中。我可以创建、更新或删除它们。问题是关于删除。

我使用 CloudKit 获取待处理的通知。我可以根据 queryNotificationReason 属性确定它是哪种操作。如果是删除,则无法确定我应该从具有相关 ID 的核心数据数据库中删除哪种属性。

有什么办法吗?到目前为止,对于从 CKQueryNotification 获得的 recordID,我是这样做的:

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)
}
})
}

最佳答案

删除查询通知只给你一个CKRecordID。这意味着记录 ID 必须包含处理删除所需的所有信息。

我通过创建包含记录类型和键的记录 ID 来解决这个问题。然后在需要时,我可以将记录 ID 的 recordName 拆分为实体名称和键,并根据需要使用这些值。

关于ios - 我怎么知道要根据 CKQueryNotification 删除哪个实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40996718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com