组件化Injectionlll实现Debug模式下热重载(二)

519 阅读1分钟

之前写过injectionlll在非组件化下实现热重栽是比较简单,这篇文章主要针对组件化下如何使用injectionIII实现热重栽

一.组件化下的injectionlll实现组件化前面的步骤和非组件化一样,可以移步到

热重栽InjectionIII

二.组件化项目如何配置injectionlll

1.在项目的主仓目录下创建一个xxx.xcworkspace快捷方式如下:

Snip20210723_9.png

2.injectionlll 打开选中项⽬⽬录上级⽬录:

Snip20210723_11.png

3.上面两步项目就添加到了injectionlll中如下:

Snip20210723_14.png

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就可以了。