にたくさん追加したいのですがNSBlockOperations
、mainQueue
潜在的に呼び出したいのです[mainQueue cancelAllOperations];
が、クラスメソッドには、mainQueue
追加できる操作しかありませんか、それともシステムが独自の操作を追加しますか?
質問する
393 次
1 に答える
2
まあ、ドキュメンテーションにはどちらか一方しか書かれていませんが、アップルの誰かが絶対的な言葉であなたに言うことができれば、私は非常に驚くでしょう. そうではないと思いますが、これを自分で判断する方法について提案があります。
現在のアプリでは、「- (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 でした。
于 2012-07-16T16:00:34.197 に答える