gpt4 book ai didi

Swift Combine 如何跳过一个事件

转载 作者:行者123 更新时间:2023-12-04 14:33:57 27 4
gpt4 key购买 nike

我在我的应用程序中使用了一个用于日志记录页面的表单,并且在页脚上有一个绑定(bind)来显示任何错误,如下所示:
内容 View .Swift :

Form { Section(footer: Text(self.viewModel.errorMessage))
View 模型.swift
init() {
self.isCurrentNameValid
.receive(on: RunLoop.main)
.map { $0 ? "" : "username must at least have 5 characters" }
.assign(to: \.errorMessage, on: self)
.store(in: &cancelSet)
}
问题是 viewModel 中的分配是在 init 中执行的,所以当我启动我的应用程序时,即使用户还没有尝试写任何东西,它也会显示消息。
有没有办法像在 RxSwift 中那样跳过第一个事件,在组合框架中你只需要 .skip(1) ?

最佳答案

插入 .dropFirst()运算符(operator)。

self.isCurrentNameValid
.dropFirst()
// ... the rest is as before ...

关于Swift Combine 如何跳过一个事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63973316/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com