【发布时间】:2015-12-19 01:21:46
【问题描述】:
安装了 Xcode 7.1 Beta 并在 iOS 9.0 上测试了我的应用,但出现以下错误。我在这里彻底解决了不同的问题。
我将 IIViewDeckController 用于左侧菜单和 PullRefreshTableViewController。在应用程序委托中,我注册到不同的通知并进行 Web 服务调用以获取 VC1(Menu1) 和 VC2(Menu2) 的视图控制器的数据,它们都继承了 PullRefreshTableViewController。首先显示VC1。当用户导航到 VC2 时,视图会加载拉取的数据,但会因以下异常而崩溃。
*** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“UIView 类的实例 0x7fa8c541eaf0 已被释放,而键值观察者仍向其注册。当前观察信息:( 上下文:0x0,属性:0x7fa8c1d1b470> )'
*** 首先抛出调用堆栈: (
0 CoreFoundation 0x0000000110d7df65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x00000001107f5deb objc_exception_throw + 48
2 CoreFoundation 0x0000000110d7de9d +[NSException raise:format:] + 205
3 Foundation 0x000000010f6528c1 NSKVODeallocate + 294
4 libobjc.A.dylib 0x000000011080a0b8 _ZN12_GLOBAL__N_119AutoreleasePoolPage3popEPv + 488
5 CoreFoundation 0x0000000110c6b956 _CFAutoreleasePoolPop + 22
6 CoreFoundation 0x0000000110c9f8d1 __CFRunLoopRun + 2081
7 CoreFoundation 0x0000000110c9ee28 CFRunLoopRunSpecific + 488
8 GraphicsServices 0x00000001134e4ad2 GSEventRunModal + 161
9 UIKit 0x000000010e12eca1 UIApplicationMain + 171
10 SeeMyRadiology 0x000000010d0d507e SeeMyRadiology + 16510
11 libdyld.dylib 0x000000011126992d start + 1
)
libc++abi.dylib:以 NSException 类型的未捕获异常终止
**注意:**相同的代码可以在 iPad 上正常运行
【问题讨论】:
-
您是否在该类中注册了任何 KVO,并且您是否在对象被释放之前删除了这些?
-
不。我还没有注册任何 KVO。
-
iOS 9.1 相同的代码适用于 iPad,但不适用于 iPhone。
标签: ios objective-c uitableview