CloudKit 和优先级

Posted

技术标签:

【中文标题】CloudKit 和优先级【英文标题】:CloudKit and priority 【发布时间】:2015-09-29 12:28:07 【问题描述】:

我之前曾尝试使用 OSX/ios 应用程序实现 CloudKit, 由于我的强迫症,我非常担心在设备之间优先处理某些数据,并且可能会丢失数据或恢复已删除的数据。

我的逻辑是,比较从 iCloud 和本地从 CoreData 获得的数据的更新日期时间,具有相同的唯一 id,然后优先考虑具有较晚更新日期时间的数据。

另一个问题是用户是否决定使用 iCloud。

这是接近它的最佳方式吗?您是否有任何可以让 CloudKit 更轻松的建议、示例代码或库?

【问题讨论】:

【参考方案1】:

如果你有这种情况,那么 CloudKit 会报错: - 你从 CloudKit 读取数据 - 其他人对该数据进行更新 - 您正在尝试写入该数据的更新 所以没有必要自己为此创建一个机制。

如果您想以最简单的方式使用 CloudKit,请查看: https://github.com/evermeer/EVCloudKitDao

【讨论】:

您好,我之前查看过您的库以及示例应用程序。您是否碰巧有任何在一台设备上删除数据并在另一台设备上保存副本的示例?我将如何解决这个冲突? 处理这个问题的最佳方法是使用订阅。当您删除记录时,通知将到达另一台设备。当然,这不是一蹴而就的。所以在实际删除和到达通知之间会有一段时间。在此期间,您仍然拥有第二台设备上的记录,而第一台设备上的记录已被删除。但是话又说回来,当您尝试在第二台设备上进行更新时,您会收到一个 CloudKit 错误,您可以处理。

以上是关于CloudKit 和优先级的主要内容,如果未能解决你的问题,请参考以下文章

优先级队列和队列有啥区别?

线程优先级

堆和优先级队列2:java实现堆和优先级队列

stm32之中断响应优先级

Java - 线程优先级和守护线程

Linux的进程优先级NI和PR有啥区别