【发布时间】:2016-12-18 14:09:10
【问题描述】:
我发现一个 c++ 系统方法会导致 ios 崩溃,我尝试调整该方法。但是,我不知道该怎么做,因为它是 c++ 类的方法。有人知道我是否可以这样做吗?
【问题讨论】:
标签: objective-c runtime swizzle
我发现一个 c++ 系统方法会导致 ios 崩溃,我尝试调整该方法。但是,我不知道该怎么做,因为它是 c++ 类的方法。有人知道我是否可以这样做吗?
【问题讨论】:
标签: objective-c runtime swizzle
Method swizzling 是 Objective-c 独有的(即使有也必须小心使用),不适用于 c++。
我想您无权访问 c++ 类的源代码。 那么,在特定 c++ 类中“交换”方法实现的唯一方法是派生一个子类,覆盖该方法,然后确保使用该子类而不是另一个类。你仍然不太可能有机会;方法不是虚拟的,要替换的类以非多态方式使用,要替换的类已经有几个子类,这些点中的每一个都会阻止你成功。
祝你好运!
【讨论】: