我试图将我的viewModel类注入WKInterfaceController,在我的InterfaceController中我已经设置了属性,但是当我尝试在func awake(withContext context: Any?)
中使用它时,它为零。
所以我尝试这样做的方法是:在ExtensionDelegate中设置容器,并在onInitCompleted方法中使用viewModel类将我的interferenceController注册到它。
我的代码:
class ExtensionDelegate: NSObject {
let container = Container()
func applicationDidFinishLaunching() {
setupContainer()
}
func setupContainer(){
container.register(HomeInterfaceController.self) { _ in HomeInterfaceController()
}.initCompleted { r, c in
c.viewModel = r.resolve(HomeViewModel.self)
}
}
}
class HomeInterfaceController: WKInterfaceController {
var viewModel: HomeViewModel!
override func willActivate() {
viewModel.fetch() // ----> here I get exception
super.willActivate()
}
}
在尝试使用viewModel的行上,我得到:
线程1:EXC_BREAKPOINT(代码= 1,子代码= 0x524abc)
您知道如何将类正确地注入WKInterfaceController吗?