IPhone performSelector问题

时间:2010-06-27 04:50:05

标签: iphone selector

我有工作代码:  [self performSelector:@selector(doSomething)];

但当我将此行更改为:

[self performSelector:@selector(doSomething)withObject:nil afterDelay:1.0];

它报告错误 - 无法识别的选择器....

你可以告诉我这是什么问题吗?

谢谢

3 个答案:

答案 0 :(得分:5)

如果您更改了方法以获取对象参数,则需要更改@selector()参数以包含“:”,例如@selector( doSomething: )

这有效:

- (void) foo
{
    NSLog(@"foo!");
}


- (void)applicationDidFinishLaunching:(NSNotification *)aNotification 
{        
    [self performSelector: @selector(foo) withObject: nil afterDelay: 0.1];
}

所以你可以把一个不带参数的选择器传递给performSelector:withObject:afterDelay:,我认为它忽略了我不是100%肯定的withObject:参数。

答案 1 :(得分:1)

看起来您的问题是您的选择器是doSomething而不是doSomething:。如果没有:,则消息中无处插入对象,甚至nil

答案 2 :(得分:0)

自我还在吗?您可能正在尝试向NSZombie发送消息。