之前写过injectionlll在非组件化下实现热重栽是比较简单,这篇文章主要针对组件化下如何使用injectionIII实现热重栽
一.组件化下的injectionlll实现组件化前面的步骤和非组件化一样,可以移步到
二.组件化项目如何配置injectionlll
1.在项目的主仓目录下创建一个xxx.xcworkspace快捷方式如下:
2.injectionlll 打开选中项⽬⽬录上级⽬录:
3.上面两步项目就添加到了injectionlll中如下:
4.添加后发现在swift中injected方法无效,需要先注册Notification_INJECTION_BUNDLE_NOTIFICATION的通知, 然后在viewdidLoad⽅法中添加需要重载的代码 —> command + s 即可触发,因为之前项目中使用了RXSwift所以处理如下:
NotificationCenter.default.rx.notification(Notification.Name(Notification_INJECTION_BUNDLE_NOTIFICATION)).subcribe(onNext:{ [weak self] (error) in
self?.viewDidLoad()
})
在 viewDidLoad()中添加需要改变的代码,然后command + s就可以了。