我想在我的应用程序中添加一些日志记录代码,而无需更新所有视图控制器。
我尝试将类别添加到UIViewController
并覆盖其中一个委托方法。但是,这产生了一些警告/错误。
我有办法将代码注入我的所有应用程序的ViewControllers吗?
答案 0 :(得分:2)
查看method swizzling。它是一个功能强大的工具,可以为您节省大量时间。 Swizzle您希望登录的方法之一,然后调用原始方法让它执行原本应该执行的操作。
答案 1 :(得分:2)
您可以继承UIViewController,然后在超类中添加日志记录方法。你仍然需要触摸所有的VC,然后将课程改为你的超级课程。
答案 2 :(得分:0)
你不可能在iOS应用程序中拥有如此多的视图控制器类,触及每个视图控制器类将是一个巨大的问题。因此,创建自己的UIViewController子类,可能是OurSuperViewController
,它将作为视图控制器的超类,并在那里添加日志记录。然后修改每个视图控制器类,使它们从OurSuperViewController
继承,并确保每个视图控制器方法中都调用super
。
完成后,您可以通过仅修改OurSuperViewController
来随意打开或关闭登录。