现在,我遇到了一个注册协议符合ObservableObject
的问题.因为ObservableObject
使用关联的类型,所以我找不到一种方法来注册它而不出现编译错误.
这是我的简单模型,名为A
protocol A: ObservableObject {}
这是我的简单类,名为B
final class B: A {}
这是我的集会
final class ViewStoreAssembly: Assembly{
func assemble(container: Container) {
container.register(A.self) { _ in
B()
}
}
}
我正在try 注册符合ObservableObject的A,但编译错误显示
协议‘A’只能用作一般约束,因为它具有 自身或关联的类型要求
有人知道如何解决这个问题吗?这样做的好处是
- 在SwiftUI中,我们可以将视图从ViewStore/Presenter中分离出来,这样就可以将视图与view Model Holder分开
- 可以通过模拟视图轻松测试ViewStore/Presenter