如何解决“PerformSelector可能导致泄漏,因为它的选择器未知”

时间:2014-12-23 19:16:27

标签: ios xcode memory-leaks performselector

根据此答案中描述的解决方案,我试图摆脱PerformSelector警告:performSelector may cause a leak because its selector is unknown

导致问题的一行是:

if ([self.target respondsToSelector:self.action]) {
    [self.target performSelector:self.action withObject:self];
}

我试图通过将代码更改为:

来解决它
if ([self.target respondsToSelector:self.action]) {
    SEL selector = self.action;
    IMP imp = [self.target methodForSelector:selector];
    void (*func)(id, SEL) = (void *)imp;
    func(self.target, selector);
}

虽然它不再报告问题,但是在调用此方法时应用程序崩溃了。我该如何解决这个问题?这个问题不重复,因为我已经阅读了其他答案,仍然无法解决问题。

0 个答案:

没有答案