SwiftUi 在 class 中初始化主结构

SwiftUi initialize the main struct in a class

我似乎无法初始化下面的 fest var。这样做时出现以下错误:

'self' 用于 属性 访问 'fest' 之前所有存储的属性都被初始化

我的结构是:

struct Fest: Codable {
    let days, year: String
    let shows: [Show]
}

struct Show: Codable, Identifiable {
    let id = UUID() 
    let showName, stageName, description: String
    let times: [Int] 
    let isFavorite, oneNight: Bool
}

我的class是:

class FestivalData: ObservableObject {
    @Published var fest: Fest
    @Published var shows: [Show] = []
    
    init() {
        self.fest = fest
    }
    
    func addShow (_ show: Show) {
        DispatchQueue.main.async { [self] in
            shows.append(show)
        }
    }

}

谢谢,但这仍然没有给我想要做的事情。 在 class 我需要能够将数据添加到 fest var。 fest var 是需要更新的数据结构的主要部分。我使用的是 @Published var shows: [Show] = [] 因为它有效。

fest.days = stringOfDays
fest.shows.append(shows)

类似于使用 addShow 函数。

在我的 ContentView 中我有: @StateObject var festivalData = FestivalData() 并且出现以下错误: 调用

中缺少参数 'fest' 的参数

我不必为其他已发布的变量添加参数。