系统是否使用NSOperationQueue mainQueue进行自己的调用?

时间:2012-07-16 15:38:59

标签: iphone ios nsoperation

我想向NSBlockOperations添加大量mainQueue,并可能调用[mainQueue cancelAllOperations];我的问题是,类方法mainQueue是否只有我可以进行的操作添加到它,或者系统是否添加了自己的任何操作?

1 个答案:

答案 0 :(得分:2)

嗯,文档没有说明这种或那种方式,如果Apple的任何人都能用绝对的话告诉你,我会感到非常惊讶。我猜它没有,但有一个建议,你如何为自己确定这一点。

在当前的应用中,发送“ - (void)setSuspended:YES;”到mainQueue,然后将dispatch_after块添加到dispatch_main_queue,并记录mainQueue的operationCount。事实上,您可以在启动时在appDelegate中暂停它,并提供一个打印计数的按钮,以便您可以真正锻炼您的应用程序。如果任何UIKit框架使用它,我会感到非常惊讶。

我刚刚尝试过我的iOS应用程序而且从未找到任何:

// in one place
[((NSOperationQueue *)[NSOperationQueue mainQueue]) setSuspended:YES];
// Eons later
NSLog(@"[NSOperationQueue mainQueue] %d", ((NSOperationQueue *)[NSOperationQueue mainQueue]).operationCount);

值为0;