我正在制作一款拥有"更新方法之王的应用程序"负责持续运行代码。我想过使用NSTimer
,因为它可以选择让它无限重复。我这样负载:
gameTimer = [NSTimer timerWithTimeInterval:0.01428 target:self selector:@selector(GameUpdate:) userInfo:NULL repeats:true];
GameUpdate:
声明如下:
-(void)GameUpdate:(NSTimer*)timer;
问题是,GameUpdate:
内的代码永远不会运行。它曾经在xcode 4.2中工作。这是为什么?
答案 0 :(得分:0)
您需要将新创建的NSTimer对象添加到运行循环中。
(lifted from the answer to this related question):正如the docs所说:
计时器与运行循环一起使用。要有效地使用计时器, 你应该知道运行循环的运行方式 - 参见NSRunLoop和 线程编程指南。特别注意运行循环保留 他们的计时器,所以您可以在将计时器添加到计时器后释放计时器 运行循环。
如果查看相关问题的其他答案,您将看到如何创建一个NSTimer对象,并将其自动添加到运行循环中。