Boo*_*oon 8 objective-c grand-central-dispatch ios ios6
现在dispatch_get_current_queue在iOS 6 中已弃用,如何dispatch_after在当前队列中执行某些操作?
评论中的各种链接并没有说"最好不要这样做".他们说你不能这样做.您必须传递所需的队列或分派到已知队列.调度队列没有"当前"的概念.块通常从一个队列馈送到另一个队列(称为"定位").当你实际运行时,"当前"队列并没有真正意义,依靠它可以(并且历史上确实)导致死锁.dispatch_get_current_queue()从来没有打算派遣; 这是一种调试方法.这就是它被删除的原因(因为人们把它当作有意义的东西对待).
如果您需要这种更高级别的簿记,请使用NSOperationQueue跟踪其原始队列的(并且具有更简单的排队模型,使"原始队列"更有意义).
UIKit中使用的几种方法是合适的:
[NSURLConnection setDelegateQueue:]或addObserverForName:object:queue:usingBlock:举例.请注意,NSURLConnection期望一个NSOperationQueue,而不是一个dispatch_queue.更高级别的API以及所有这些.NSURLConnection排队前的历史工作方式.| 归档时间: |
|
| 查看次数: |
3276 次 |
| 最近记录: |