【发布时间】:2022-08-06 13:37:22
【问题描述】:
我正在尝试复制 Firebase Analytics 行为,它会在 ViewController 屏幕发生变化时自动触发屏幕事件。 虽然我可以使用以下方法找到当前可见的 ViewController:
UIApplication.shared.windows.first?.rootViewController?.presentedViewController
但是我需要一些方法来获得有关 rootViewController 任何更改的通知。我试图观察这个根视图控制器使用 KVO,但我没有收到任何回调。我发现 KVO 仅适用于具有动态属性的 NSObject。 有什么方法可以接收 ViewController 更改的回调?由于这将是一个库项目,因此我无法更改主代码以支持该功能。
-
我也有同样的问题。你有没有找到解决办法?
-
是的,使用 Method Swizzling,我们可以创建自己的 viewDidAppear/load 实现。
标签: ios swift uiviewcontroller firebase-analytics