正如我们所知,当加载Objective-C类时,将调用+load
方法。但是在Swift中我们没有+load
方法。
所以我试图投入这个。我在call_load_methods
添加了一个符号断点。在Objective-C世界。此函数将调用所有类+load
。但它没有进入这个断点。
所以我想知道如何在Swift中加载。或者你们能给我更多关于Swift运行时或其他东西的细节吗?
答案 0 :(得分:0)
不幸的是,在Swift中实现的加载类方法永远不会 由运行时调用,使该推荐不可能。 相反,我们只能选择第二选择:
初始化时实现方法调配。这可以安全地完成,所以 只要你在执行时检查类型并包装调整 dispatch_once(无论如何你都应该这样做)。实施方法 在应用代表中徘徊。而不是通过添加方法调整 一个类扩展,只需向app delegate添加一个方法即可 在调用application(_:didFinishLaunchingWithOptions :)时执行。 根据您正在修改的类,这可能就足够了 应该保证每次都执行你的代码。