SwiftUI开发中,时常会创建ObservableObject对象,当它的@Published属性发生改变时会触发UI界面的更新。
但有时由于App逻辑比较复杂,为了封装需要,会将另一个子ObservableObject对象作为Published属性放在父ObservableObject对象中。
此时,如果子ObservableObject对象发生改变,并不会触发UI界面的更新。
为什么会出现这个问题?怎么解决它呢?
So, Let‘s find out!
问题分析 ObservableObject对象属性改变时如何触发UI更新当你的对象遵守ObservableObject协议,它会自动为你生成一个名为objectWillChange的发布器,它的类型是ObservableObjectPublisher类:
@available(