iPhone在延迟后调用函数

iPhone在延迟后调用函数,iphone,Iphone,我有一些代码,其中我显示一个精灵N秒。这个框在N秒后被移除,我想调用一个我可以选择的函数。例如,我想在10秒钟内调用Showboxed 我在这里看到,我可以使用SEL函数。我写道: -(void)caller:(id)sender { NSLog(@"Function Called!"); } 我可以调用callFunc来设置要调用的函数: -(void) callFunc:(SEL)func; 但是,当我尝试此操作时,我的函数从未被调用。我是不是遗漏了什么?这是否可能是在C++中?

我有一些代码,其中我显示一个精灵N秒。这个框在N秒后被移除,我想调用一个我可以选择的函数。例如,我想在10秒钟内调用Showboxed

我在这里看到,我可以使用SEL函数。我写道:

-(void)caller:(id)sender
{
    NSLog(@"Function Called!");
}
我可以调用callFunc来设置要调用的函数:

-(void) callFunc:(SEL)func;
但是,当我尝试此操作时,我的函数从未被调用。我是不是遗漏了什么?这是否可能是在C++中?

是否可以将SEL函数作为参数传递给函数


谢谢

您正在查找
[自执行选择器:@selector(myfunc)with object:afterDelay:]

您可以使用计时器并在所述延迟后调用函数,如下所示:

timer = [NSTimer scheduledTimerWithTimeInterval:0.001 target:self selector:@selector(taskOnTimer) userInfo:nil repeats:NO];

我想你的意思是[自我执行选择器:withObject:afterDelay];然而,我很好奇物体会是什么。我尝试发送nil和self,但出现了一个异常。有什么想法吗?如果选择器不接受某个对象,则可以为该对象传递nil。因此,这不是您遇到异常的原因,如果您仍然需要帮助,请编辑您的问题并添加这些详细信息。很可能您的arg to@selector错误,它需要匹配您的方法签名。如果您的方法使用一个参数,您需要添加冒号,例如@selector(myfunc:),您显然是正确的,因为错误消息是:-[DialogBox dboxDone]:无法识别的选择器发送到实例***由于未捕获的异常“NSInvalidArgumentException”终止应用程序我正在创建一个CCSprite对象(使用CoCoCoCos2D)。然后创建DialogBox dbox对象。然后:[dbox performSelector:@selector(dboxDone)with object:nil afterDelay:2];我的函数是:-(void)dboxDone{NSLog(@“Called!”);}看到什么错误了吗?