如何在iOS中取消调整方法

时间:2015-04-09 11:12:59

标签: ios objective-c

很清楚如何调整方法,但是如何取消它并恢复原状?

在iOS 8上,它可以简单地再次调用swizzle方法并将其更改回原始方法,但在iOS 7上它似乎不起作用。

1 个答案:

答案 0 :(得分:0)

对于我的情况,我需要调整才能进行调整。 swizzle代码在一个框架内,允许父应用程序启动或退出我们的模块,我只想在模块打开时调整。我添加了一个标志(在我的例子中是另一个类中的BOOL),这是一个混合方法首先检查的;如果它关闭,则立即调用原始方法并退出,如果启用,则继续调用自定义代码。
只需翻转开关一次就可以解除混合。