Reputation: 131
I'm trying to inject my viewModel class to WKInterfaceController, in my InterfaceController I have set property but when I try to use it in func awake(withContext context: Any?)
, it's nil.
So the way I was trying to do it: setting up the container in ExtensionDelegate, and registering to it my interferenceController with viewModel class in method onInitCompleted.
My code :
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()
}
}
On the line where I try to use my viewModel I get:
Thread 1: EXC_BREAKPOINT (code=1, subcode=0x524abc)
Do you know how to properly inject class into WKInterfaceController?
Upvotes: 3
Views: 147