combine相关内容

SwiftUI UIViewRepresentable UITextView绑定

SwiftUI当前不支持多行文本输入(希望很快会添加此功能!),所以我一直在尝试使用Combine框架从UIKit实现不支持多行输入的UITextView,但是我一直在结果不一. 这是我创建的用于创建“文本"视图的代码: struct MultilineTextView:UIViewRepresentable {@Binding var text:字符串func makeUIView(c ..
发布时间:2021-04-23 19:12:59 其他开发

如何使用Swift Combine异步处理任务数组

我有一个发布者,该发布者进行网络呼叫并返回ID数组.现在,我需要为每个ID拨打另一个网络电话,以获取我的所有数据.我希望最终的发布者拥有最终的对象. 第一个网络结果: “用户":{"id":0,“项目":[1、2、3、4、5]} 最终对象: struct用户{let id:整数租借物品:[物品]...其他领域...}结构项{let id:整数...其他领域...} 处理多个网络 ..
发布时间:2021-04-23 19:12:56 移动开发

使用Xcode 12访问SwiftUI中的ViewModel字段:

我认为此错误消息是Xcode 12中SwiftUI的新增功能,因为它在Google中获得了0次匹配,而消息本身却是相当通用的: 在安装到View之外访问State的值.这将导致初始值的恒定绑定,并且不会更新. 我有以下代码(删除了一些绒毛): 公共结构ContentView:视图{@ObservedObject var模型:RootViewModel公共var主体:一些视图{VSta ..
发布时间:2021-04-23 19:12:53 移动开发

如何使用SwiftUI和Combine观察TextField值?

每次尝试更改 textField 的值时,我都试图执行一个动作. @Published的var值:String =“"var body:some View {$ value.sink {(val)在打印(val)}返回TextField($ value)} 但是我遇到了错误. 无法将类型为“已发布"的值转换为预期的参数类型“绑定" 解决方案 这应该是一种非脆弱的方法: c ..
发布时间:2021-04-23 19:12:50 移动开发

快速合并替代Rx Observable.create

我有一些使用RxSwift构建的代码,并且正在尝试将其转换为使用Apple的Combine框架. 一种非常常见的模式是对单次可观察的对象(通常是网络请求)使用 Observable.create .像这样: func loadWidgets()->可观察{返回Observable.create {//当有人订阅时启动请求让loadTask = WidgetLoade ..
发布时间:2021-04-23 19:12:47 移动开发

SwiftUI:随机的“通话中的其他参数"错误

所以我正在尝试学习SwiftUI和Combine.我通常通过制作一个简单的小费计算器来开始新技术. 我似乎得到了一个随机的“通话中的额外参数".编码时出错这是我的SwiftUI文件 导入SwiftUI内部枚举ReceiptRowType {案例小计个案税案件总数案例提示案例大合计}struct TipView:查看{@ObservedObject内部变量adBannerView:Banne ..
发布时间:2021-04-23 19:12:39 其他开发

SwiftUI使用高频数据更新UI

我正在尝试使用来自单独的后台线程的高频数据更新主视图.我创建了两个tabview,并且在更新速度较慢的情况下,可以更改视图.但是在另一种情况下,UI不响应.我只在真实设备上观察到了这种行为,在模拟器中一切正常. while循环仍然代表一个imu,只是为了使其简单. 有人知道如何解决此问题吗? 非常感谢! 导入SwiftUIstruct ContentView:查看{@Envir ..
发布时间:2021-04-23 19:12:36 其他开发

快速合并:使用其他合并(使用CombineLatest)的其他发布者的后续发布者不会“解雇"

我正在尝试复制WWDC 2019会议“实践结合"中给出的“向导学校注册"示例 https://forums.swift.org/t/crash-in-swiftui中-app-using-combine被使用在非常友好和乐于助人的 Nanu Jogi 上,它与swiftui/26628/9中的状态一起发布了.不在stackoverflow上. 这很简单: 添加此行: .receiv ..
发布时间:2021-04-23 19:12:33 移动开发

与URLSession发布者实现重新连接并合并

我想知道是否有一种方法可以通过新的Apple框架实现重新连接机制结合并使用URLSession Publisher 试图在WWDC 2019中找到一些示例 试图与 waitsForConnectivity 一起玩没有运气(它甚至没有在自定义会话上调用委托) 尝试了 URLSession.background ,但在发布过程中崩溃了. 我也不了解我们如何以这种方式跟踪进度 有没有人 ..
发布时间:2021-04-23 19:12:30 移动开发

如何压缩4个以上的发布者

我正在对我的API请求使用Swift Combine.现在,我面临一种情况,我想将4个以上的并行请求压缩在一起.在我有4个使用Zip4()运算符压缩在一起的请求之前.我可以想象您要分多个步骤进行压缩,但是我不知道如何为它编写receiveValue. 这是我当前代码的简化,其中包含4个并行请求: Publishers.Zip4(request1,request2,request3,req ..
发布时间:2021-04-23 19:12:27 移动开发

Xcode 11中Swift Combine.framework的可选链接

我们的应用程序支持iOS 11及更高版本.在iOS 13中,我们使用 SwiftUI + Combine 我们用相应的检查 #if canImport(SwiftUI)或 #if canImport(Combine)包装 SwiftUI 或 Combine 框架的导入).如果我们在iOS 12下从Xcode 11运行应用程序,则会出现错误 dyld:库未加载:/System/Library/ ..
发布时间:2021-04-23 19:12:18 其他开发

UserDefaults在SwiftUI中使用Toggle进行绑定

我正在尝试找出构建绑定到UserDefaults的简单设置屏幕的最佳方法. 基本上,我有一个Toggle,我想要: 每次更改此Toggle时都要保存的UserDefault值(UserDefault应该是事实的来源) 切换始终显示UserDefault的值 解决方案 更新 ------- iOS 14:------- 从iOS 14开始,现在有一种非常非常简单的方 ..
发布时间:2021-04-23 19:12:16 移动开发

ObservableObject内部的ObservedObject不刷新视图

我正在尝试执行异步请求时显示活动指示器.我所做的是创建一个ActivityTracker对象,该对象将跟踪发布者的生命周期.此ActivityTracker是一个ObservableObject,将存储在也是ObservableObject的视图模型中. 似乎这种设置并没有刷新View.这是我的代码: struct ContentView:查看{@ObservedObject var v ..
发布时间:2021-04-23 19:12:12 移动开发

Swift Property Wrapper是否可以引用其包装的财产的所有者?

从Swift的属性包装器中,您可以有人引用拥有被包装的属性的类实例或被删除的实例吗?使用 self 显然不起作用, super 也不起作用. 我试图将 self 传递给属性包装器的 init(),但这也不起作用,因为上的 self 评估 @propertywrapper 时,尚未定义配置. 我的用例在用于管理大量设置或配置的类中.如果有任何属性更改,我只想通知感兴趣的人某些事情已更改. ..
发布时间:2021-04-23 19:12:07 移动开发