fatbobman / blogComments

1 stars 0 forks source link

实时切换 Core Data 的云同步状态 | 肘子的Swift记事本 #156

Open fatbobman opened 2 years ago

fatbobman commented 2 years ago

https://www.fatbobman.com/posts/real-time-switching-of-cloud-syncs-status/

在 WWDC 2019 上,苹果推出了 Core Data with CloudKit API ,极大地降低了 Core Data 数据的云同步门槛。由于该服务对于开发者来说几乎是免费的,因此在之后的几年中,越来越多的开发者在应用中集成了该服务,并为用户带来了良好的跨设备、跨平台的使用体验。本文将对实时切换 Core Data 云同步状态的实现原理、操作细节以及注意事项进行探讨和说明。

xiaogdgenuine commented 2 years ago

写得很好很清晰,双 container 方案确实可行👍。

不过我想问一下 “ 不要清除 Transaction 记录” 这一小节的后果,如果不靠某个策略清除 transaction 的话 sqlite 文件不是会越来越大?还是说 Coredata 有自己的清除策略我们无需干预?(比如同步后清除这样)

fatbobman commented 2 years ago

此处所说的不要删除 Transaction 是指不要删除当前 app 或 app group 修改数据产生的 transaction。 不删除确实会导致数据库增大。这也是必须要付出的代价。不过由于 transaction 仅记录很少的信息,基本上都是 Int 类型,因此,除非你的数据以百万计,否则不会对性能造成多大的影响。 NSPersistentCloudKitContainer 会自动清除因同步数据创建的 Transaction( 不会太积极 ),因此无需处理这些事务,也不可以去手动删除这些事务,否则会破坏同步日志。

postpascal commented 2 years ago

很棒的文章!👍🏻有没有支付宝或者微信的收款二维码之类的。buy me coffe不太想绑卡

fatbobman commented 2 years ago

谢谢鼓励 https://www.fatbobman.com/support/

2022年8月17日 12:43,pascal @.***> 写道:

很棒的文章!👍🏻有没有支付宝或者微信的收款二维码之类的。buy me coffe不太想绑卡

— Reply to this email directly, view it on GitHub https://github.com/fatbobman/blogComments/issues/156#issuecomment-1217455068, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANIYIGKXTZ5B4BKXPS3CKOTVZRUW3ANCNFSM54T5KDVQ. You are receiving this because you authored the thread.

postpascal commented 2 years ago

@fatbobman 谢谢鼓励 https://www.fatbobman.com/support/

2022年8月17日 12:43,pascal @.***> 写道:

很棒的文章!👍🏻有没有支付宝或者微信的收款二维码之类的。buy me coffe不太想绑卡

— Reply to this email directly, view it on GitHub https://github.com/fatbobman/blogComments/issues/156#issuecomment-1217455068, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANIYIGKXTZ5B4BKXPS3CKOTVZRUW3ANCNFSM54T5KDVQ. You are receiving this because you authored the thread.

OK

xavody commented 1 year ago

请问使用persistentHistoryKit的话,进行批量新增后如何将变化合并到视图上下文呢?谢谢