自从我将项目更改为使用“objectWillChange.send()”以来,我收到零错误。因为我需要手动更新视图,因为它不会为自定义轮播视图更新自身(因为核心数据?)。
如果我写“1”并点击下一步按钮(NavigationLink)
控制台日志
page.name: 1
捕获错误: nilError
这是代码。
添加页面类
class AddPage: ObservableObject {
@Environment(\.presentationMode) var presentation
@Environment(\.managedObjectContext) var moc
func addPage(item: String) {
if item != "" {
let page = Page(context: self.moc)
page.name = item
do {
print("page.name: \(page.name ?? "Unknown")")
try self.moc.save()
} catch {
print("catch: \(error)")
}
objectWillChange.send()
presentation.wrappedValue.dismiss()
}
}
}
Run Code Online (Sandbox Code Playgroud)
添加页面视图
@ObservedObject var add = AddPage()
NavigationLink(destination: ContentView()){
Text("Next")
.background(
Rectangle()
.frame(width: 330, height: 60, alignment: .center)
)
.onTapGesture {
add.addPage(item: pageName)
}
}
Run Code Online (Sandbox Code Playgroud)
场景委托类 …