我的测试应用程序加载 UITableView 并导致崩溃[1421:12503] *** -[__NSArrayM class]: message sent to deallocated instance 0x10ae83e0
。崩溃时进程停止在 main() 方法处。
这种崩溃只发生在ios 4.3.2的模拟器中,在ios 4.3.2和ios 5.1的设备中是可以的,在ios 5.1的模拟器中也是可以的。
我无法找出哪个实例被错误地释放。
我用命令malloc_history 1421:12503 0x10ae83e0
在终端中尝试找到任何有价值的线索。但我只得到以下信息:
> ALLOC 0x10ae83e0-0x10ae83f7 [size=24]: thread_ac2502c0 |start | main | UIApplicationMain | GSEventRun | GSEventRunModal | CFRunLoopRunInMode | CFRunLoopRunSpecific | __CFRunLoopRun | __CFRunLoopDoSource1 |
__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ | mshMIGPerform |
_XCopyElementAtPosition | _AXXMIGCopyElementAtPosition | _copyElementAtPositionCallback |
-[UIView(UIViewAccessibility) _accessibilityHitTest:withEvent:] |
-[UIView(UIViewAccessibility) __accessibilityHitTest:withEvent:] |
-[UIView(UIViewAccessibility) _accessibilityHitTest:withEvent:] |
-[UIView(UIViewAccessibility) __accessibilityHitTest:withEvent:]|
-[UIView(UIViewAccessibility) _accessibilityHitTest:withEvent:] |
-[UIView(UIViewAccessibility) __accessibilityHitTest:withEvent:] |
-[UIView(UIViewAccessibility) _accessibilityHitTest:withEvent:] |
-[UIView(UIViewAccessibility) __accessibilityHitTest:withEvent:] |
-[UIView(UIViewAccessibility) _accessibilityHitTest:withEvent:] |
-[UIView(UIViewAccessibility) __accessibilityHitTest:withEvent:] |
-[UITableViewAccessibility(Accessibility) _accessibilityHitTest:withEvent:] |
-[UITableViewSectionElement _accessibilityHitTest:withEvent:] |
-[UITableViewSectionElement accessibilityChildren] |
-[__NSPlaceholderArray init] |
-[__NSPlaceholderArray initWithCapacity:] |
+[__NSArrayM __new::] | __CFAllocateObject2 | class_createInstance | calloc | malloc_zone_calloc
您能否提供有关这种情况的任何线索?提前致谢!
我猜NSArray
您使用的数据源是自动发布的。检查并保留它。这可能会解决这个问题,但如果没有一些代码,我无法真正确定,尤其是关于如何创建这个数组的问题。
不要忘记释放数组dealloc
当你完成时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)