Редактировать
Я думаю, что нашел свою проблему. Моя ViewModel расширила абстрактный класс (он не представлен ниже. Я удалил его и теперь он работает, я думаю. Создаст еще одну проблему, если проблема не исчезнет.
Цель
Я пытаюсь сохранить NSManagedObject как ObservedObject в «ViewModel». Затем я использую эту «ViewModel» в моем SwiftUI View и получаю любые обновления для взаимосвязей, которые фиксируются и отражаются.
Я использовал это до сих пор : ObservedObject внутри ObservableObject не обновляется. Представление Но вместо этого я использовал 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()
}
}
}
Проблема
Если я добавлю @Published var name: String = "Hello World"
к «ViewModel», затем нажатие кнопки «Добавить модель отношений» больше не приводит к следующему приращению текста.
Я очень новичок в разработке SwiftUI / iOS. Моя голова обернута вокруг Co reData, но не объединить.