【发布时间】:2021-01-02 16:06:57
【问题描述】:
我有一个结构,我想将其转换为 EnvironmentObject,以便将其传递给子结构,但是当我这样做时,它会因说出 MissingEnvironmentObjectError: Missing EnvironmentObject 而崩溃。我的结构看起来像:
class event: ObservableObject {
@Published var Name: String
@Published var CalendarID: Int
var timeStart: Date
var timeEnd: Date
var checklist = [checklistObject]()
init(_ eventName: String, _ calID: Int, _ timeStart: Date, _ timeEnd: Date) {
Name = eventName
CalendarID = calID
self.timeStart = timeStart
self.timeEnd = timeEnd
logger.log("Successfully created new event")
}
func newChecklistItem(Content: String){
checklist.append(checklistObject(Content, false))
}
func getChecklistSize() -> Int {
return checklist.count
}
}
我的程序看起来像:
import SwiftUI
struct checklistDisplayRow: View {
@EnvironmentObject var Event: event
var itemID: Int
init(itemID: Int){
self.itemID = itemID
Event.newChecklistItem(Content: "Stuff")
}
var body: some View {
HStack{
Toggle("", isOn: $Event.checklist[itemID].complete)
Text("hi")
}
}
}
struct checklistDisplayRow_Previews: PreviewProvider {
static var previews: some View {
checklistDisplayRow(itemID: 0)
.environmentObject(event("Title", 1, Date(timeIntervalSince1970: 1576800000), Date(timeIntervalSince1970: 1576800060)))
}
}
提前感谢您的帮助。
【问题讨论】:
标签: swiftui