我想我已经找到问题了。我的ViewModel扩展了一个抽象类(下面没有表示。我认为我已经删除了它,并且现在可以正常工作。如果问题继续存在,将会产生另一个问题。
我正在尝试将NSManagedObject作为ObservedObject存储在“ ViewModel”中。然后,我想在SwiftUI视图中使用该“ ViewModel”,并捕获和反映对关系的任何更新。
到目前为止,我已经使用了此方法:ObservedObject inside ObservableObject not refreshing View 但是我改用了ObservedObject吗?
点击“添加关系模型”将增加计算该关系的文本
struct PlayView: View {
@ObservedObject var data: ConfigureAndPlayTransaction
var body: some View {
VStack {
Button(action: {
self.data.primaryModel.relationshipModels.append(RelationshipModel())
self.data.objectWillChange.send()
})
{
Text("Add Relationship Model")
}
Text(String(self.data.primaryModel.relationshipModels.count))
}
}
}
class ViewModel : ObservableObject {
@ObservedObject var primaryModel: PrimaryModel
var anyCancellable: AnyCancellable? = nil
/// Methods
init (primaryModel: PrimaryModel) {
_primaryModel = ObservedObject(initialValue: primaryModel)
anyCancellable = self.trail.objectWillChange.sink { (_) in
self.objectWillChange.send()
}
}
}
如果我在“ ViewModel”中添加@Published var name: String = "Hello World"
,则按下“添加关系模型”按钮将不再使以下Text递增。
我对SwiftUI / iOS开发非常陌生。我的头缠在CoreData上,但没有合并。