combine相关内容

Swift Combine:如何从发布者列表中创建单个发布者?

使用Apple的新的Combine框架,我希望从列表中的每个元素发出多个请求.然后,我希望减少所有响应得到一个结果.基本上,我想从发布者列表转到拥有响应列表的单个发布者. 我曾尝试制作一个发布者列表,但我不知道如何将列表缩小为一个发布者.而且我尝试过使发布者包含一个列表,但是我无法平面映射发布者列表. 请查看"createIngredients"功能 func createIngr ..
发布时间:2021-04-23 19:11:54 移动开发

在Publisher上执行副作用

我正在尝试在 Publisher 上执行副作用,但找不到任何允许我执行类似操作的运算符.确切地说,我正在寻找与RxSwift的 do(on:)类似的概念. 这就是我想要做的.我正在为第三方SDK提供的委托编写反应式包装.它是用于与BLE设备进行交互的SDK.我有 startScanning 和 stopScanning 之类的方法,而我想要实现的是对信号做出反应并调用 stopScannin ..
发布时间:2021-04-23 19:11:45 移动开发

错误后如何继续订阅发布者?

我正在尝试建立一个发布者,该发布者将发布一组整数,并且有时可能会失败.稍作设计,但希望能说明原理.下面的示例. 枚举NumberError:整数,错误{情况是致命的,可以继续}结构编号{让p = PassthroughSubject()func start(max:Int){令errorI = Int.random(in:1 ... max)对于我的(1 .. ..
发布时间:2021-04-23 19:11:42 移动开发

如果数组是ObservableObject的成员,如何绑定数组和List?

我想创建一个 MyViewModel ,它从网络获取数据,然后更新结果. MyView 应该订阅 $ model.results ,并显示 List 填充结果. 不幸的是,我收到一个有关“表达式类型在没有更多上下文的情况下是模棱两可"的错误. 在这种情况下如何正确使用 ForEach ? 导入SwiftUI进口联合收割机类MyViewModel:ObservableObject {@ ..
发布时间:2021-04-23 19:11:34 移动开发

如何通过API URL显示图像?迅速

我有一个应用程序,其中向我显示来自API的数据.我做了一个获取数据的服务,其中URL(string =“")是API的URL: 类Web服务{func getAllMatches(completion:@escaping([Matches.Matchs]?)->()){守护让url = URL(string:"API")别的 {fatalError("URL不正确!")}URLSession.s ..
发布时间:2021-04-23 19:11:31 移动开发

SwiftUI:删除行时使用数组/索引的ForEach崩溃

我已经看过几篇关于此的文章,但到目前为止,没有一种解决方案对我有用. 我正在尝试使用ForEach创建可识别项目的数组-里面同时具有 Text()和 Toggle()视图.数组存储在 @ObservableObject 的 @Published 属性中. 我目前正在遍历索引以创建切换绑定(如 任何帮助将不胜感激! struct规则:可识别的{let id:字符串var displ ..
发布时间:2021-04-23 19:11:25 移动开发

使用SwiftUI将TextField限制为x个字符

使用iOS13.2,Swift-5.1.2,Xcode-11.2,我尝试以下操作: 我想使用一个TextField.用户只能在文本字段中输入x个字符. 我的代码如下: import合并导入SwiftUI类条目:ObservableObject {@Published var entry =“" {didSet {entry = String(entry.prefix(6))//尝试 ..
发布时间:2021-04-23 19:11:19 移动开发

更新模型时,明细视图未更新(使用列表)SwiftUI

我正在使用列表在主视图中显示模型.当我在详细视图中更新模型时,不会在详细视图中更新它. 当我不使用 List 时,详细信息视图将更新.我缺少列表的什么? struct Person:可识别的{var ID:UUID变量名称:字符串}类PersonModel:ObservableObject {@已发布的var人员:[Person] = [Person(id:UUID(),名称:"Ege" ..
发布时间:2021-04-23 19:11:17 移动开发

迅速.结合.重试时,有什么方法可以多次调用发布者块?

当我使用Swift/Combine的retry()发生某些错误时,我想发出一个以上的网络请求.发布者内部的块仅被调用一次,这意味着在发生错误时仅对真实应用程序发出一个请求.我的代码是: 导入UIKit进口联合收割机导入PlaygroundSupport枚举TestFailureCondition:错误{案例invalidServerResponse}var backgroundQueue:Dis ..
发布时间:2021-04-23 19:11:08 移动开发

在SwiftUI模型对象中发布计算属性

假设我的SwiftUI应用中有一个数据模型,如下所示: class Tallies:可识别的ObservableObject {设id = UUID()@已发布的变量计数= 0}类GroupOfTallies:可识别的ObservableObject {设id = UUID()@已发布的var元素:[Tallies] = []} 我想向 GroupOfTallies 添加类似于以下内容的计 ..
发布时间:2021-04-23 19:11:05 移动开发

从视图外部设置SwiftUI @EnvironmentObject

我想让一个工作任务更新一个SwiftUI视图. worker任务正在忙于执行应用程序的程序性工作-播放声音和触发基于计时器的事件.我想在这些计时器事件期间在SwiftUI视图中闪烁几个图标.因此,我想在这些图标视图中触发视图刷新. 因此,我创建了一个名为Settings的环境对象.它在App Delegate中实例化,并附加到SceneDelegate的根视图. Settings ..
发布时间:2021-04-23 19:11:02 移动开发