使用CMMotionManager的串行队列

时间:2012-02-15 16:23:00

标签: iphone objective-c ios multithreading accelerometer

我使用CMMotionManager的startAccelerometerUpdatesToQueue: withHandler:方法来获取加速度计更新,并且我在线创建队列这是我的代码行

[self.motionManager startAccelerometerUpdatesToQueue:[[[NSOperationQueue alloc] init] autorelease] withHandler:^(CMAccelerometerData *data, NSError *error)

我不确定,但是我的调试NSOperationQueue似乎创建了一个Concurrent队列,但我需要一个串行队列,以便一次执行一个块,所以我想创建一个我尝试使用的串行队列dispatch_queue_create方法,但我无法像使用NSOperationQueue一样使用它。

有没有办法可以排队?如果没有,我可以在哪里创建我的队列?

1 个答案:

答案 0 :(得分:2)

经过进一步研究后,我发现NSOperationQueue和dispatch_queue_create是两个完全不同的东西,你必须使用NSOperationQueue和startAccelerometerUpdatesToQueue:withHandler:

为了使这个队列序列我使用[NameQueue setMaxConcurrentOperationCount:1];,这使得它一次最多运行1次。