我怎样才能从ios5更换不推荐使用的方法dispatch_get_current_queue()在iPhone?
我正在IOS 5中使用xmppframework开发一个聊天应用程序; 它完美的作品。 但我更新了我的xcode到4.5.1,ios5到IOS 6和我的mac OS到10.7.5,由于不推荐使用的问题,该项目不起作用。 我用ios 6中的新方法replace所有的方法,除了这个:
dispatch_get_current_queue()
我如何在IOS 6中replace这个方法?
这取决于你需要通过这个电话来实现。
苹果声明,它应该用于debugging。
也许队列不重要(因为你只需要一个后台队列),所以得到一个具有特定优先级的全局队列( dispatch_get_global_queue(dispatch_queue_priority_t priority, unsigned long flags);
)
要么,
如果您确实需要在同一个队列中执行一些代码段,请创build一个队列,保留它并将所有任务分派到那里。
如何使用NSOperationQueue
?
-(void) doSomeThing:(void (^)(BOOL success)) completionHandler { NSOperationQueue* callbackQueue = [NSOperationQueue currentQueue]; if(!callbackQueue) { callbackQueue = [NSOperationQueue mainQueue]; } dispatch_async(...,^{ // do heavyweight stuff here // then call completionHandler if(completionHandler) { [callbackQueue addOperationWithBlock:^{ completionHandler(...); }]; } });