1

我想反复调用函数 foo 但 nstimer 不工作。你能帮帮我吗?

@implementation abc
-(id)init
{
   [NSTimer scheduledTimerWithTimeInterval:(1/16) target:self selector:@selector(foo) userInfo:nil repeats:YES];
}

这是我的主要

int main(int argc, char *argv[])
{
    abc *ab=[[abc alloc]init];



    [NSThread sleepForTimeInterval:100];


    [ab release];

    return 0;
}
4

2 回答 2

6

它不起作用,因为[NSTimer scheduledTimerWithTimeInterval:...]参考)指出:

创建并返回一个新的 NSTimer 对象,并以默认模式将其安排在当前运行循环中。

...而且您没有运行循环

例如,您可以创建一个实例NSApplication(即一个适当的 Cocoa 应用程序)以使其工作(您可以创建自己的运行循环而不创建 Cocoa 应用程序,但这将是相当多的工作)。

于 2012-11-28T15:07:34.390 回答
-1

试试这行代码(1.0/16 而不是 1/16):

[NSTimer scheduledTimerWithTimeInterval:(1.0/16) target:self selector:@selector(foo) userInfo:nil repeats:YES];
于 2012-11-28T14:54:19.317 回答