根据此答案中描述的解决方案,我试图摆脱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);
}
虽然它不再报告问题,但是在调用此方法时应用程序崩溃了。我该如何解决这个问题?这个问题不重复,因为我已经阅读了其他答案,仍然无法解决问题。