我正在从字符串创建选择器:
NSString *seleccion = [NSString new];
seleccion = (NSString*)[self.detailItem description];
SEL methodToSelect = NSSelectorFromString(seleccion);
if ([self respondsToSelector:methodToSelect])
{
NSLog(@"the method exist");
[self performSelector:methodToSelect withObject:nil afterDelay:0.0];
}
但该方法永远不会执行。
我试过了,这个:
[self performSelector:@selector(myMethod)];
它运作得很好。
我正在使用:
[self performSelector:methodToSelect withObject:nil afterDelay:0.0];
因为我使用
[self performSelector:methodToSelect];
我收到此警告“PerfomSelector可能导致泄漏,因为它的选择器未知”
我非常感谢您的帮助或任何有关如何使其发挥作用的指示。
答案 0 :(得分:0)
performSelector:withObject:afterDelay:
不立即运行该方法。它在当前线程的运行循环上以异步运行它。如果这不在主线程上,那么除非您明确启动它,否则没有运行循环运行。此外,如果您的应用程序不是基于运行循环的应用程序,它也将没有运行循环。