【发布时间】:2020-07-27 11:19:44
【问题描述】:
我有一些传递信息的视图。 最后我想保存数据,但我得到“nilError”。
我怎样才能让床单从右到左淡入?
我是新手,但希望有人能提供帮助。
型号:
import Foundation
import CoreData
public class Test: NSManagedObject, Identifiable {
@NSManaged public var name: String?
@NSManaged public var message: String?
}
.xcdatamodel: 属性:“name”和“message”,String和“Class.name”:test,“Module”:当前产品模块,“Codegen”:Manual/None (对不起,我不允许上传图片)
观看次数:
import SwiftUI
struct ThirdView: View {
@Environment(\.managedObjectContext) var managedObjectContext
@Environment(\.presentationMode) var presentationMode
@State private var showingSheet = false
let name: String
let message: String
var body: some View {
List{
Text(name + ": " + message)
Button("Dismiss"){
self.saveThis()
self.presentationMode.wrappedValue.dismiss()
}
}
}
func saveThis(){
let newEntry = Test(context: self.managedObjectContext)
newEntry.message = self.message
newEntry.name = self.name
do {
try self.managedObjectContext.save()
} catch {
print(error)
}
}
}
struct SecondView: View {
@Environment(\.presentationMode) var presentationMode
@State private var showingSheet = false
let name: String?
@State private var message: String = ""
var body: some View{
List{
TextField("Message: ", text: $message)
Button("Next"){
self.showingSheet.toggle()
}.sheet(isPresented: $showingSheet){
ThirdView(name: self.name!, message: self.message)
}
}
}
}
struct NewEntry: View {
@State private var showingSheet = false
var body: some View {
Button("Show Sheet"){
self.showingSheet.toggle()
}
.sheet(isPresented: $showingSheet){
SecondView(name: "Fritz")
}
}
}
...我的 xcdatamodel 和其他一些模型类中有另一个实体来保存其他信息,我没有问题。 这可能很愚蠢,但有可能我只能拥有这些托管对象之一吗?
【问题讨论】:
标签: ios swift core-data view swiftui