2013-12-23 61 views
7

我得到我的應用程序的錯誤,我不知道該怎樣找出想法,有沒有人見過這個:如何調試此錯誤:CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER?

# Binary Image Name Address Symbol 
0 RepZio 0x002bd302 testflight_backtrace 
1 RepZio 0x002bc996 TFSignalHandler 
2 libsystem_platform.dylib 0x39ce0062 _sigtramp 
3 CoreFoundation 0x2edde118 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ 
4 CoreFoundation 0x2ed52256 _CFXNotificationPost 
5 Foundation 0x2f737c2c -[NSNotificationCenter postNotificationName:object:userInfo:] 
6 Foundation 0x2f73c50a -[NSNotificationCenter postNotificationName:object:] 
7 UIKit 0x3180b2cc -[UIApplication _performMemoryWarning] 
8 libdispatch.dylib 0x39ba0d06 _dispatch_client_callout 
9 libdispatch.dylib 0x39ba9802 _dispatch_source_invoke$VARIANT$mp 
10 libdispatch.dylib 0x39ba773c _dispatch_main_queue_callback_4CF$VARIANT$mp 
11 CoreFoundation 0x2ede6818 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ 
12 CoreFoundation 0x2ede50ec __CFRunLoopRun 
13 CoreFoundation 0x2ed4fc26 CFRunLoopRunSpecific 
14 CoreFoundation 0x2ed4fa0a CFRunLoopRunInMode 
15 GraphicsServices 0x33a50282 GSEventRunModal 
16 UIKit 0x315f3048 UIApplicationMain 
17 MyAppName 0x00109afa main in main.m on Line 15 
18 libdyld.dylib 0x39bc5ab6 start 

迷失在這一個。

+0

http://stackoverflow.com/a/6462751/792677也'_performMemoryWarning'看起來非常糟糕。 –

回答

11

確保您在釋放所有通知觀察員之前刪除它們。當觀察者被釋放並且通知中心仍然有一個指向該對象的指針並嘗試通知它時,會發生此問題。檢查所有addObserver是否具有相應的removeObserver調用。

0

我知道這是個老問題,但也許我會幫助某人。

在我的情況下,當NSTableViewCell中的NSTextField處於編輯模式,並且用戶試圖從tableView外部的組合框選擇值而未完成編輯時發生了相同的崩潰。同樣的CFNOTIFICATIONCENTER_...崩潰在線[tableView reloadData]

所以,我解決崩潰的方法是在重新加載表之前放置[self.window makeFirstResponder:nil]