【问题标题】:How do I debug this error: CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER?如何调试此错误:CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER?
【发布时间】:2013-12-23 15:25:12
【问题描述】:

我的应用程序出现错误,我不知道如何解决,以前有人见过吗:

#   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

迷路了。

【问题讨论】:

标签: ios objective-c nsnotificationcenter


【解决方案1】:

确保在释放所有通知观察者之前删除它们。当观察者被释放并且通知中心仍然有指向该对象的指针并尝试通知它时,就会出现此问题。检查所有 addObserver 是否都有相应的 removeObserver 调用。

【讨论】:

    【解决方案2】:

    我知道这是个老问题,但也许我会帮助别人。

    在我的情况下,当NSTableViewCell 中的NSTextField 处于编辑模式并且用户尝试从 tableView 之外的组合框中选择值而未完成编辑时,发生了同样的崩溃。同样的CFNOTIFICATIONCENTER_... 崩溃在线[tableView reloadData]

    所以,我解决崩溃的方法是在重新加载表之前输入[self.window makeFirstResponder:nil]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-17
      • 2016-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多