本人对 MVVM 不熟,看了资料只知道概念并没有透彻的理解。
按我之前学习的理解,一个 ObservableObject
是一个 ViewModel
,发布订阅的是 State
(网上讲的都是这种),但是当 State
里面的数据也需要双向绑定的时候(传给子 View
),发布订阅就变成了另外的 ViewModel
,这里面是不是有啥问题。比如下面 MainViewModel
,我是不是应该发布的是 users
而不是 userViewModels
class MainViewModel: ObservableObject {
@Published var userViewModels: [UserViewModel] = []
}
class UserViewModel: Identifiable, ObservableObject {
@Published var name = ""
let id = UUID()
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.