首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带Combine的Cloudkit

带Combine的Cloudkit
EN

Stack Overflow用户
提问于 2019-12-20 21:33:27
回答 1查看 754关注 0票数 5

我正在用SwiftUI开发一个应用程序,并结合使用MVVM架构,只针对iOS 13。我想使用CloudKit框架实现设备之间的数据同步和共享。如何组合CloudKit框架以在我的项目中使用?为了使用Combine,对CloudKit操作有什么可以做的吗?

EN

回答 1

Stack Overflow用户

发布于 2019-12-21 22:53:31

CloudKit API在很大程度上基于完成回调(每个CloudKit Tips and Tricks),但它没有为任何特定的发布者设置(目前是iOS 13.3)。因此,任何你想要的东西,你都需要自己包装底层API,创建自己的自定义发布器。

使用Combine包装异步调用的最直接方法可能是使用Future publisher构建您自己的publisher,也可能使用Deferred publisher,这取决于您希望它如何反应。这是您可以用来使任何异步API成为发布者的相同的API结构。

Using Combine中的wrapping an asynchronous call with a Future to create a one-shot publishercreating a repeating publisher by wrapping a delegate based API部分中有一个这样做的示例(带源代码)。

作为一般模式,我的目标是让发布者接收与您想要创建的UI体验相关的任何更新。这样做的很多过程都涉及到选择要封装和包装的内容(错误处理、类型操作和确定要从底层数据更改中呈现什么)。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59426092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档