我想在NSBlockOperations
中添加很多mainQueue
,并可能调用[mainQueue cancelAllOperations];
我的问题是,类方法mainQueue
是否仅具有我可以添加的操作,或者系统是否向其添加了任何自己的操作?
最佳答案
好吧,文档没有说任何一种方式,如果来自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;
关于iphone - 系统是否使用NSOperationQueue mainQueue进行自己的调用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11507658/