Core data Swift用户界面&x2B;CoreData&x2B;切换
我正在使用带有CoreData的SwiftUI。每个单元格都有一个开关,用于更新CoreData isComplete:Bool。如果我的核心数据中有多个项目,那么效果会很好。如果我只有一个项目,我必须在切换消失或视图刷新之前单击切换3次Core data Swift用户界面&x2B;CoreData&x2B;切换,core-data,swiftui,Core Data,Swiftui,我正在使用带有CoreData的SwiftUI。每个单元格都有一个开关,用于更新CoreData isComplete:Bool。如果我的核心数据中有多个项目,那么效果会很好。如果我只有一个项目,我必须在切换消失或视图刷新之前单击切换3次 CategoryCompleteToggle(passedCategory: passedCategory, isOn: $isOn) } // End HStack Text(catName)
CategoryCompleteToggle(passedCategory: passedCategory, isOn: $isOn)
} // End HStack
Text(catName)
} // End VStack
.padding(10)
}
}
struct CategoryCompleteToggle: View {
var passedCategory: Category
@Environment(\.managedObjectContext) var moc
@ObservedObject var catToggle = CategoryToggle()
@Binding var isOn: Bool
var body: some View {
VStack(alignment: .trailing) {
Toggle(isOn: $isOn) {
EmptyView()
}
.onAppear {
self.isOn = self.passedCategory.catCompleted
print("ONLOAD ISON VALUE: \(self.isOn)")
}
.onTapGesture {
self.catToggle.catToggleOn.toggle()
self.catToggle.catToggleOn = !self.isOn
print("IsOn Value: \(self.isOn)")
print("Passed Category Name: \(self.passedCategory.catName ?? "Unknown")")
print("Current Completed Value: \(self.passedCategory.catCompleted)")
self.passedCategory.catCompleted = !self.isOn
do {
try self.moc.save()
} catch {
print(error.localizedDescription)
}