gpt4 book ai didi

swift - 是否所有 @Published 变量都需要在 SwiftUI 的 View 模型中具有初始值?

转载 作者:行者123 更新时间:2023-12-05 02:47:04 26 4
gpt4 key购买 nike

是否所有@Published 变量都需要在 SwiftUI 的 View 模型(我符合 MVVM)中具有初始值?

为什么我不能直接说我想要没有初始值的字符串类型的@Published 变量?

enter image description here

这是否意味着我需要: enter image description here

如果不是,我该如何解决这个问题?

我正在考虑为该类创建一个 init(),但我仍然需要在初始化该类时输入默认值。

最佳答案

与结构体的 SwiftUI View 不同,Observable 对象始终是类,在 Swift 中,所有类都必须具有初始化器。

A) 考虑让你的@Published 变量成为可选变量

@Published var title: String?

B) 添加一个初始化方法

init() { self.title = ""}

否则,有一种方法可以让类的属性没有初始值。

您可能会发现用“!”展开力将“解决”您的问题,但这是一种不好的做法,不要这样做;如果您的变量没有初始值,那么在您的情况下它必须是可选的。

但是为什么要为 SwiftUI 设计一个模型作为可观察对象,如果您不打算持久化(保存到磁盘)您的数据,请考虑使用简单的结构,否则使用核心数据及其 NSManagedObject 类,即已经符合 ObservableObject。

关于swift - 是否所有 @Published 变量都需要在 SwiftUI 的 View 模型中具有初始值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65207688/

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