我有一个在其初始值设定项中需要绑定的视图,并返回该绑定是可选的另一个视图(Binding
Cannot convert value of type 'Binding<Person>' to expected argument type 'Binding<Person?>?'
如何将我的非可选项目分配给可选项目?
完整代码:
struct PersonEditView: View {
@Environment(\.managedObjectContext) var context: NSManagedObjectContext
@ObservedObject var model: PersonViewModel
init(_ editPerson: Binding<Person>) {
self.model = PersonViewModel(editPerson: editPerson)
}
...
}
public class PersonViewModel: ObservableObject {
@Published var id: UUID?
@Published var lastModified: Date?
@Published var name: String?
@Published var comment: String?
@Binding var editPerson: Person?
init(editPerson: Binding<Person?>? = nil) {
self._editPerson = editPerson ?? .constant(nil)
updateFromEditPerson()
}
private func updateFromEditPerson() {
guard let editPerson = self.editPerson else { return }
editPerson.updateViewModelFromObject(viewModel: self)
}
}