objective-c覆盖系统方法

时间:2016-12-18 14:09:11

标签: objective-c runtime swizzle

我发现一个c ++系统方法导致ios崩溃,我试图调整该方法。但是,我不知道如何做到这一点,因为它是一个c ++类的方法。有人知道我能不能这样做?

1 个答案:

答案 0 :(得分:0)

方法调配是objective-c独有的(即使必须仔细使用它),也不适用于c ++。

我想你无法访问c ++类的源代码。 然后是交换"的唯一方法。在特定的c ++类中实现一个方法是派生一个子类,重写该方法,然后确保使用子类而不是其他类。你不太可能有机会;该方法不是虚拟的,要替换的类以非多态方式使用,要替换的类已经有多个子类,这些点中的每一个都会阻止您成功。

祝你好运!