swift - 我们如何使用可选的已发布变量?
问题描述
我得到了一个 ObservableObject-Class,它有一个可选的已发布 var,我将它提供给 ForEach,因为我没有初始化我的已发布,即使在我的应用程序 ForEach 的午餐后也不应该工作。没关系,我如何在我的代码中正确输入它?
struct PersonData: Identifiable
{
let id = UUID()
var name: String
}
class PersonDataModel: ObservableObject
{
@Published var persones: [PersonData]?
}
struct ContentView: View {
@StateObject var personDataModel = PersonDataModel()
var body: some View {
HStack
{
ForEach( personDataModel.persones != nil ? personDataModel.persones! : [] ) { person in
Text(person.name) // ← : Here
}
}
}
}
解决方案
可能你想要这个
HStack
{
ForEach(personDataModel.persones ?? [] ) { person in Text(person.name) }
}
推荐阅读
- jquery - jQuery对话框的问题,链接某些ID
- python - 在 PHP 中调用 Python 代码并显示输出
- java - 使用智能手机的电视天线作为发送和接收射频信号的天线
- javascript - ReactJS 时间戳
- python - 使用 infer_vector() 检查 doc2vec 的模型过拟合
- wordpress - 是否可以将分类术语用作类别?
- amazon-cloudformation - 如何在 AWS 无服务器函数中设置 Oauth 范围?
- python - AWS Sagemaker 多项训练作业
- filepond - 在 ondata 事件中获取文件路径
- python - Visual Studio Code Python 中的 Pylint 错误