【问题标题】:iOS: perform performSelector using nsstring : performSelector may cause a leak because its selector is unknown [duplicate]iOS:使用 nsstring 执行 performSelector:performSelector 可能会导致泄漏,因为它的选择器未知 [重复]
【发布时间】:2014-01-07 18:28:00
【问题描述】:

我正在尝试从 nsarray 执行 performSelector 选择方法,但出现此错误:

performSelector 可能会导致泄漏,因为它的选择器是未知的

这是我的代码:

-(void)exceudeMethods
{
    NSArray *methods = @[@"methodOne",@"methodTwo"];

    for (int i =0 ; i < methods.count; i++)
    {
       [self performSelector:NSSelectorFromString([NSString stringWithFormat:@"%@:",methods[i]])];

    }

}

如果我替换了你们中的任何人,知道如何解决这个问题,以便我可以执行 nsarray 中的所有方法吗?

【问题讨论】:

  • selector is unknown 表示没有与您提供的名称相同的方法...检查一下它的正确名称。
  • 显示你的方法定义
  • 为什么stringWithFormat???

标签: ios objective-c performselector


【解决方案1】:

奇怪的是,如果将行替换为,警告就会被删除

    [self  performSelector:NSSelectorFromString(methods[i]) withObject:nil afterDelay:0.0f];

似乎有效。

【讨论】:

    猜你喜欢
    • 2011-10-24
    • 2014-02-21
    • 1970-01-01
    • 2010-10-25
    • 2012-08-10
    • 2021-04-10
    • 2014-06-20
    • 2011-04-18
    相关资源
    最近更新 更多