combine相关内容

SwiftUI-NavigationView中的内存泄漏

我正在尝试向模式显示的View的导航栏添加一个关闭按钮.但是,关闭后,再也不会调用我的视图模型 deinit 方法.我发现问题在于它捕获了 navigationBarItem 中的自身.我不能只在 navigationBarItem 的操作中传递weak self,因为View是一个结构而不是一个类.这是一个有效的问题还是只是缺乏知识? struct ModalView: View { ..
发布时间:2020-12-01 01:30:34 移动开发

合并框架:如何在继续进行之前异步处理数组的每个元素

在使用iOS Combine框架时,我有些不安. 我正在将一些代码从从远程API的“手动"获取转换为使用Combine.基本上,API是SQL和REST(实际上是Salesforce,但这与问题无关).用于执行代码的是调用采用完成处理程序的REST查询方法.我正在做的是在任何地方都用Combine Future取代它.到目前为止,一切都很好. 以下情况发生时(很多情况下)会出现问题: ..
发布时间:2020-12-01 01:23:27 移动开发

列出重新加载动画故障

因此,我有一个列表,该列表在用户填写搜索关键字时发生变化,并且在没有结果时,所有单元格都会折叠,并以某种方式它们会飞到看上去很难看的第一部分.我的代码中是否有错误,或者这是预期的SwiftUI行为?谢谢. import SwiftUI struct ContentView: View { @ObservedObject var viewModel = ViewModel(phot ..
发布时间:2020-11-30 23:28:51 移动开发

如何在Swift的绑定中解开可选值?

我正在使用SwiftUI构建应用程序,并且想要一种将Binding转换为>的方法. 在我的应用中,我有一个AvatarView,它知道如何为特定用户渲染图像. struct AvatarView: View { @Binding var userData: UserData ... } 我的应用程序包含一个ContentView,它具有两个绑定:一个按I ..
发布时间:2020-11-30 23:01:14 移动开发

结合框架序列化异步操作

如何使构成Combine框架的异步管道同步(串行)排列? 假设我有50个URL,我想从中下载相应的资源,假设我想一次做到这一点.我知道如何使用Operation/OperationQueue做到这一点,例如使用在下载完成之前不会声明自身完成的Operation子类.我如何使用Combine来做同样的事情? 此刻,我要做的是保留剩余URL的全局列表并弹出一个列表,为一个下载设置一个管道, ..
发布时间:2020-11-30 20:26:44 移动开发

如何告诉SwiftUI视图绑定到嵌套的ObservableObjects

我有一个SwiftUI视图,其中包含一个名为appModel的EnvironmentObject.然后,它在其body方法中读取值appModel.submodel.count.我希望这会将我的视图绑定到submodel上的属性count,以便在属性更新时重新呈现,但这似乎不会发生. 这是一个错误吗?如果没有,那么将视图绑定到SwiftUI中环境对象的嵌套属性的惯用方式是什么? 具体来 ..
发布时间:2020-11-30 20:25:41 移动开发

如何使用SwiftUI和Combine检测Datepicker的值变化?

在使用SwiftUI和Combine时如何检测Datepicker的值变化? 每当日期选择轮移动时,我都需要调用一个方法,以更新文本和滑块。 我一直在寻找可以识别值的特定方法更改(使用UIKit可以将动作与事件相关联),但是显然我在文档中没有找到任何有用的东西(我已经尝试过onTapGesture方法,但这不是我想要的,因为它迫使用户点击选择器以更新其他视图,而我希望每当用户移动方向盘时都 ..
发布时间:2020-10-18 19:04:00 其他开发

如何在Dart中合并两个列表?

我想知道是否有一种简单的方法可以在dart中连接两个列表以创建一个全新的列表对象。我找不到任何东西,像这样: 我的列表 list1 = [1,2 ,3] list2 = [4,5,6] 我尝试 var newList = list1 + list2; 我希望加入列表输出 [ 1,2,3,4,5,6] 解决方案 您可以使用: ..
发布时间:2020-10-15 02:38:44 其他开发

如何:使用Combine在后台对CoreData更改做出反应

我想实现以下目标:每当有人触发CoreData保存(即,发送 NSManagedObjectContextDidSave 通知)时,我想执行一些 background 计算基于更改后的NSManagedObject。具体示例:假设在一个笔记应用程序中,我想异步计算所有笔记中的单词总数。 当前的问题在于,NSManagedObject上下文是显式的绑定到线程,不鼓励您在此线程外使用 NSMan ..
发布时间:2020-10-09 20:51:35 移动开发

NSManagedObject更改不会触发objectWillChange

我有一个Core Data模型,其中的实体已生成到类 Task 中。我试图从 NSManagedObject 发送合并发布者 objectWillChange 来发送(自动,无需人工),但是惯于。任务实体具有 name 属性。 let task = Task(context:container.viewContext) let taskSubscription = task.obje ..
发布时间:2020-10-09 20:50:50 移动开发

SwiftUI中相关实体更改时,如何更新@FetchRequest?

在SwiftUI 视图中,我有一个 List 基于 @FetchRequest 显示主要实体的数据以及通过 Secondary 实体连接的过孔关系的数据。 当我添加新的时,视图及其列表已正确更新。具有新的相关辅助实体的主要实体。 问题是,当我更新连接的次要实体项,数据库将被更新,但更改未反映在主要列表中。 显然, @FetchRequest 不会被另一个视图中的更改触发。 当我此后 ..
发布时间:2020-10-09 20:42:58 其他开发

如何使用Combine + Swift复制PromiseKit样式的链式异步流

在Xcode 11 beta打破PK v7之前,我一直在项目中成功使用PromiseKit.为了减少外部依赖性,我决定取消PromiseKit.处理链式异步代码的最佳替代方法似乎是使用新的Combine框架的Futures. 我正在努力使用Combine来复制简单的PK语法 例如.简单的PromiseKit链式异步调用语法 getAccessCodeFromSyncProvide ..
发布时间:2020-09-13 06:17:52 移动开发

使用Swift Combine创建Timer Publisher

我一直在观看通过SwiftUI WWDC进行数据流讨论.他们有一张带有示例代码的幻灯片,在其中使用了Timer发布者,该发布者连接到SwiftUI视图,并随时间更新UI. 我正在编写一些代码,在其中我想做完全相同的事情,但无法弄清楚该PodcastPlayer.currentTimePublisher的实现方式,然后将其连接到UI结构.我还看了所有关于Combine的视频. 我该如何实 ..
发布时间:2020-07-04 20:08:43 移动开发

SwiftUI-通过嵌套引用类型传播更改通知

我想将SwiftUI中的ObservableObject行为扩展到嵌套类,并且我正在寻找正确的方法来做到这一点.可以使用Combine来“手动"完成,但是我想有一种使用SwiftUI的更简洁的方法,我希望您能为我指明正确的方向.这就是我的意思…… 以下是ObservableObject的典型应用程序,用于使View动态响应对引用类型的更改.轻击按钮可切换showText值,使文本在屏幕上显示 ..
发布时间:2020-07-04 19:30:35 其他开发