combine相关内容

通过didSet on@Published var将日期/时间保存到用户默认设置(来自SwiftUI的TimePicker组件)

我正在尝试保存用户的签入时间首选项(向他们发送通知提醒)。到目前为止,我已经能够将Bool和字符串保存到UserDefaults,但我不知道如何节省时间首选项。这是我用于存储首选项的UserSetting类。 public class UserSettings: ObservableObject { @Published var eveningCheckin: B ..
发布时间:2022-06-22 10:39:33 移动开发

合并。Sink打印不打印

我刚开始使用Combine and Sink,但是我放进去的照片似乎没有记录,但是当用户在AWS Amplify中创建时,操作结果就会完成。 @objc private func createAccountButtonAction(sender: UIButton) { print("Create Account Button Action") signUp(password ..
发布时间:2022-04-27 11:37:17 移动开发

在SwiftUI/AVPlayer中艰难应对NotificationCenter/Combine

我正在尝试在项目播放结束时暂停AVPlayer。使用SwiftUI实现这一点的最佳方式是什么?我不太了解通知,在哪里声明它们,等等。有什么方法可以使用联合来实现这一点吗?样例代码将会非常棒!提前谢谢您。 更新: 在下面答案的帮助下,我成功地创建了一个类,它接受AVPlayer并在项目结束时发布通知。您可以通过以下方式订阅通知: 类: import Combine impor ..
发布时间:2022-04-17 18:04:44 移动开发

在 SwiftUI 视图中组合 onChange 和 onAppear 事件?

我正在使用 onChange 修饰符观察视图上的属性.但是,我也希望在初始值上运行同一段代码,因为有时数据会被注入初始化程序或稍后异步加载. 例如,我有一个注入模型的视图.有时,此模型开始时包含数据(如预览),或者从网络异步检索. class MyModel: ObservableObject {@Published var 计数器 = 0}结构内容视图:查看{@ObservedObjec ..
发布时间:2021-12-27 20:45:40 移动开发

视图关闭后,ObservedObject 视图模型仍在内存中

我在 SwiftUI 和 Combine 中的内存管理方面遇到了一些问题. 例如,如果我有一个 NavigationView,然后使用 TextField 导航到详细视图,并在 TextField 中输入一个值并点击后退按钮,则下次我转到该视图时,TextField 具有先前输入的值. 我注意到在细节视图被关闭后视图模型仍然在内存中,这可能就是 TextField 仍然保留一个值的原因 ..
发布时间:2021-12-27 20:40:49 移动开发

如何使用 Combine 来跟踪 UIViewRepresentable 类中的 UITextField 更改?

我创建了一个自定义文本字段,我想利用结合.为了在文本字段中的文本更改时收到通知,我目前使用自定义修饰符.它运行良好,但我希望这段代码可以在我的 CustomTextField 结构中. 我的 CustomTextField 结构符合 UIViewRepresentable.在这个结构体中,有一个名为 Coordinator 的 NSObject 类,它符合 UITextFieldDelega ..
发布时间:2021-12-27 20:35:30 移动开发

如何定义协议以包含带有@Published 属性包装器的属性

当按照当前的 SwiftUI 语法使用 @Published 属性包装器时,似乎很难定义一个包含带有 @Published 的属性的协议,或者我肯定需要帮助 :) 当我在 View 和它的 ViewModel 之间实现依赖注入时,我需要定义一个 ViewModelProtocol 以便注入模拟数据以轻松预览. 这是我第一次尝试的, protocol PersonViewModelPr ..
发布时间:2021-12-27 20:34:36 其他开发

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

我正在使用 SwiftUI 构建应用程序,并且想要一种将 Binding 转换为 Binding> 的方法. 在我的应用程序中,我有一个 AvatarView,它知道如何为特定用户呈现图像. struct AvatarView: View {@Binding var userData: UserData...} 我的应用程序拥有一个 ContentView,它拥有两个绑定:一个按 id ..
发布时间:2021-12-27 20:34:28 移动开发

SwiftUI:随机“调用中的额外参数"错误

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

为计算属性添加@Published 行为

我正在尝试制作一个 ObservableObject,它具有包装 UserDefaults 变量的属性. 为了符合ObservableObject,我需要用@Published 包裹属性.不幸的是,我无法将其应用于计算属性,因为我用于 UserDefaults 值. 我怎样才能让它工作?我该怎么做才能实现 @Published 行为? 解决方案 更新:有了EnclosureSe ..
发布时间:2021-12-27 20:26:40 移动开发

SwiftUI 如何防止视图重新加载全身

基本上我试图弄清楚我的 viewModel 何时更新,它会通知视图并刷新整个身体.如何避免这种情况.例如,如果我的视图 GoLiveView 已经呈现了另一个视图 BroadcasterView,然后我的 goLiveViewModel 得到更新,GoLiveView 将被刷新,它会再次创建 BroadcasterView,因为 showBroadcasterView = true.正因为如此,它 ..
发布时间:2021-12-27 20:26:34 移动开发

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

在 SwiftUI View 我有一个基于 @FetchRequest 的 List 显示 Primary 实体的数据和通过关系连接 Secondary 实体.View 及其 List 正确更新,当我添加一个新的 Primary 实体和一个新的相关次要实体时. 问题是,当我在详细视图中更新连接的 Secondary 项时,数据库会更新,但更改未反映在 Primary 列表中.显然,@Fetc ..
发布时间:2021-12-23 13:49:26 其他开发

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

我有一个 SwiftUI 视图,它接收一个名为 appModel 的 EnvironmentObject.然后它在其 body 方法中读取值 appModel.submodel.count.我希望这将我的视图绑定到 submodel 上的属性 count 以便它在属性更新时重新呈现,但这似乎不会发生. 这是一个错误吗?如果没有,在 SwiftUI 中将视图绑定到环境对象的嵌套属性的惯用方法是 ..
发布时间:2021-12-02 16:04:49 移动开发