__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ 18 23 CoreFoundation 崩溃

Posted

技术标签:

【中文标题】__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ 18 23 CoreFoundation 崩溃【英文标题】:__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ 18 23 CoreFoundation crash 【发布时间】:2013-07-31 22:13:42 【问题描述】:

我正在崩溃。谁能告诉我这次崩溃的原因?

__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 18 23  CoreFoundation  crash

我没有使用线程。 NSZombieEnabled 和工具根本没有说明崩溃的原因。 请帮帮我。

0   libobjc.A.dylib                 0x3b0805be objc_msgSend + 30
1   CoreFoundation                  0x3332130c CFRelease + 96
2   CoreFoundation                  0x333fc430 __CFBasicHashDrain + 256
3   CoreFoundation                  0x333213ce CFRelease + 290
4   CoreFoundation                  0x333fc430 __CFBasicHashDrain + 256
5   CoreFoundation                  0x333213ce CFRelease + 290
6   ImageIO                         0x34013008 _CGImagePlusFinalize + 48
7   CoreFoundation                  0x333213ce CFRelease + 290
8   CoreFoundation                  0x333fc430 __CFBasicHashDrain + 256
9   CoreFoundation                  0x333213ce CFRelease + 290
10  ImageIO                         0x34179bb2 releaseInfoPNG + 18
11  ImageIO                         0x34029ae4 ImageProviderReleaseInfoCallback + 32
12  CoreGraphics                    0x3346b1c8 image_provider_finalize + 32
13  CoreFoundation                  0x333213ce CFRelease + 290
14  CoreGraphics                    0x33464f48 image_finalize + 60
15  CoreFoundation                  0x333213ce CFRelease + 290
16  QuartzCore                      0x34fa44ce CA::Layer::State::~State() + 94
17  QuartzCore                      0x34fa7a4e CA::Layer::~Layer() + 290
18  QuartzCore                      0x34fa77ae -[CALayer dealloc] + 138
19  QuartzCore                      0x34f97a70 CA::Layer::free_transaction(CA::Transaction*) + 68
20  QuartzCore                      0x34f960a4 CA::Transaction::commit() + 400
21  QuartzCore                      0x34f95eac CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 56
22  CoreFoundation                  0x333b56ca __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 18
23  CoreFoundation                  0x333b39bc __CFRunLoopDoObservers + 272
24  CoreFoundation                  0x333b3d12 __CFRunLoopRun + 738
25  CoreFoundation                  0x33326eb8 CFRunLoopRunSpecific + 352
26  CoreFoundation                  0x33326d44 CFRunLoopRunInMode + 100
27  GraphicsServices                0x36eea2e6 GSEventRunModal + 70
28  UIKit                           0x3523c2fc UIApplicationMain + 1116

【问题讨论】:

请添加堆栈跟踪的其余部分 我已经更新了我的帖子。请检查。 【参考方案1】:

使用NSNotificationCenter时发生此崩溃

您将通知观察者注册到已释放且未移除观察者的对象。因此,当它尝试调用选择器时会崩溃。

如果您使用某种 ViewController,您可以添加

[[NSNotificationCenter defaultCenter] removeObserver:self name:@"Notification" object:nil];

viewWillDisappear

如果不是 ViewController,你可以使用-(void) dealloc 注销观察者。

【讨论】:

这似乎是错误的,根据苹果官方的回答:forums.developer.apple.com/thread/100012

以上是关于__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ 18 23 CoreFoundation 崩溃的主要内容,如果未能解决你的问题,请参考以下文章

函数参数

多重背包

合租房合同模板

启动代码分析 02

ACM数论 求幂乘

Windows下虚拟机安装Mac OS X —– VM12安装Mac OS X 10.11