Iphone 在特定时间调用方法

Iphone 在特定时间调用方法,iphone,objective-c,ios,methods,time,Iphone,Objective C,Ios,Methods,Time,我创建了一个记录器,它将触发声音的时间和名称存储在两个单独的阵列中。为了回放录音,我需要一种调用触发声音方法的时间精确方法。最好是非处理器密集型;不久前我做了一件工作准确但占用了iphone所有内存的事情 例如,我尝试了NSTimer,它似乎有点滞后于非精确播放,以及NSThread,它是内存密集型的 我的选择有哪些,利弊如何?谢谢。你觉得这样做怎么样: [self performSelector:@selector(playSound) withObject:nil afterDelay:0.

我创建了一个记录器,它将触发声音的时间和名称存储在两个单独的阵列中。为了回放录音,我需要一种调用触发声音方法的时间精确方法。最好是非处理器密集型;不久前我做了一件工作准确但占用了iphone所有内存的事情

例如,我尝试了NSTimer,它似乎有点滞后于非精确播放,以及NSThread,它是内存密集型的


我的选择有哪些,利弊如何?谢谢。

你觉得这样做怎么样:

[self performSelector:@selector(playSound) withObject:nil afterDelay:0.2];

请稍后查看
dispatch\u
文档。与使用performSelector相比,它更灵活,并保证在预计时间内运行:afterDelay

结果很好!使用这个,我可以将阵列中的所有声音排成一列,它们播放时没有明显的延迟。绝对是正确的选择。