由于KVO,iPhone应用程序崩溃了

时间:2011-06-01 14:55:52

标签: iphone crash key-value-observing

我的应用程序偶尔崩溃,当我看到崩溃日志时,这就是我所看到的,我已经截断了剩下的部分,因为剩下的内容根据应用程序崩溃的位置而变化。

0   libobjc.A.dylib                 0x32da1c98 objc_msgSend + 16
1   Foundation                      0x338530ac NSKVOPendingNotificationCreate + 184
2   Foundation                      0x33852fc8 NSKeyValuePushPendingNotificationPerThread + 56
3   Foundation                      0x33831e5c NSKeyValueWillChange + 544
4   Foundation                      0x3381e53c -[NSObject(NSKeyValueObserverNotification) willChangeValueForKey:] + 120

我现在要介绍一些背景

  1. 我有两个类,其中A有两个变量,B有3变量

  2. 我正在观察C类和D

  3. 中的那些变量
  4. 由于应用程序中的业务逻辑流程不同,A类和B类中的变量会保持更改

  5. 有两个C类实例在应用程序的生命周期中存活,因为它们是tabBarcontroller应用程序中两个tab的rootController。

  6. D的对象会根据用户点击应用程序的频率而频繁创建和销毁。

  7. 我在init中添加观察者并在dealloc中删除观察者。

  8. 到目前为止,我已经意识到,只要我确保它没有初始化D我认为我没有看到崩溃,但我再也不是100%肯定,我会测试更多,看看是否就是这样。

    但与此同时,如果有人可以给出一些很棒的指针

1 个答案:

答案 0 :(得分:5)

我发现我并没有删除我班级D dealloc中的一名观察员。