3

我正在尝试将我的 viewModel 类注入到 WKInterfaceController,在我的 InterfaceController 中我设置了属性,但是当我尝试在其中使用它时func awake(withContext context: Any?),它为零。

所以我尝试这样做的方式是:在 ExtensionDelegate 中设置容器,并在方法 onInitCompleted 中使用 viewModel 类向它注册我的interferenceController。

我的代码:

https://pastebin.com/jFaLHi2m

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 吗?

4

0 回答 0