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