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' 的参数
我不必为其他已发布的变量添加参数。
我似乎无法初始化下面的 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()
并且出现以下错误:
调用
我不必为其他已发布的变量添加参数。