swift 如何使用可选的已发布变量?

2jcobegt  于 2023-02-15  发布在  Swift
关注(0)|答案(2)|浏览(161)

我得到了一个ObservableObject-Class,其中有一个可选的发布变量,我把这个给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
             }
        }

    }
}
vc9ivgsu

vc9ivgsu1#

也许你想要这个

HStack
{
    ForEach(personDataModel.persones ?? [] ) { person in Text(person.name) }
}
hzbexzde

hzbexzde2#

不需要检查视图是否为nil:

final class PersonDataModel: ObservableObject {

    @Published var persons: [PersonData] = []
}

相关问题