从字符串创建选择器时performSelector不工作

时间:2014-07-02 23:13:48

标签: ios performselector

我正在从字符串创建选择器:

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可能导致泄漏,因为它的选择器未知”

我非常感谢您的帮助或任何有关如何使其发挥作用的指示。

1 个答案:

答案 0 :(得分:0)

performSelector:withObject:afterDelay: 立即运行该方法。它在当前线程的运行循环上以异步运行它。如果这不在主线程上,那么除非您明确启动它,否则没有运行循环运行。此外,如果您的应用程序不是基于运行循环的应用程序,它也将没有运行循环。