8
A
回答
21
您可以創建一個CFRunLoopObserver
,它將在循環的入口和出口處調用一個塊。您使用CFRunLoopAddObserver
將您的觀察者添加到運行循環,並使用CFRunLoopGetMain
獲取要添加到的運行循環。
下面是使用這些部件的相當無意義例如:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
CFRunLoopObserverRef observer = CFRunLoopObserverCreateWithHandler(NULL, (kCFRunLoopEntry | kCFRunLoopExit), YES, 0, ^(CFRunLoopObserverRef observer, CFRunLoopActivity activity)
{
static unsigned long count = 0;
NSLog(@"activity %lu: %@", ++count, (activity & kCFRunLoopEntry ? @"Enter" : @"Exit"));
});
CFRunLoopAddObserver(CFRunLoopGetMain(), observer, kCFRunLoopCommonModes);
}
這只是安裝它記錄每個條目&退出運行循環的觀察者。您可以在Xcode中將其作爲完整的應用程序運行,並查看運行循環執行多少次。
請注意,CFRunLoopObserverCreateWithHandler
返回您自己的引用,如果您刪除了您負責解除分配的觀察者。
相關問題
- 1. 倍頻的開始:步:結束循環
- 2. 從循環開始任務,並在循環結束時完成
- 3. 爲什麼選擇0會在循環結束時結束?
- 4. 光標循環;如何在循環開始/結束時只執行一次?
- 5. Dygraph選擇開始和結束時間
- 6. Visual Basic - 選擇開始/結束位置
- 7. 選擇開始和結束列之間的行(Unix時間戳)
- 8. 在表單中停止運行循環結束操作
- 9. Textpad正則表達式 - 查找選擇的開始/結束
- 10. 選擇正則表達式的開始和結束
- 11. jQuery prevUntil()包括開始選擇器和結束選擇器
- 12. 從表中選擇,如果到達結束從MSSQL中的開始選擇
- 13. 如何在LLVM IR中找到循環開始和結束
- 14. 使用開始日期和結束日期選擇活動行
- 15. 結束表,然後開始新行
- 16. 在python中選擇月份的開始和結束數據
- 17. Javascript循環與動態的開始和結束變量
- 18. C獲取循環中的開始時間和結束時間
- 19. 通知在UIWebView文本選擇確實開始或結束?
- 20. 混合在JQuery中以選擇器開始並結束
- 21. 設置選擇開始和結束在一個contentedible
- 22. 我如何結束循環回Fancybox 2開始
- 23. 使用MouseListener開始或結束一個無限循環
- 24. 循環通過開始日期到結束日期
- 25. 如何知道Angular.js摘要循環何時開始(或結束)?
- 26. 需要通過開始 - 結束日期循環幫助
- 27. 循環開始到結束時間過夜
- 28. 尋找開始,結束並與pydot循環
- 29. 我應該從哪裏開始和結束while循環這裏
- 30. 正則表達式可選匹配開始/結束行
謝謝,這正是我正在尋找的。 – vilanovi