iOS 5 在 UIView 上的 FastModeAdditions 类别中有一个错误。如果您有一个滚动视图的子视图,该子视图在与模态视图控制器被解除的相同运行循环中滚动,则会出现此错误。
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0xa0000008
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libobjc.A.dylib 0x34bdef78 objc_msgSend + 16
1 UIKit 0x35309f9e -[UIView(FastModeAdditions) _setContainerLayoutViewForFastMode:] + 98
2 UIKit 0x351701cc -[UIView dealloc] + 568
3 UIKit 0x3545a39e -[UIDropShadowView dealloc] + 86
4 libobjc.A.dylib 0x34be016e _objc_rootRelease + 30
5 CoreFoundation 0x32b882e0 CFRelease + 88
我们发现最好的解决方法是执行Selector:afterDelay: 解雇。这会强制在以后的运行循环中解除,并且不再发生崩溃。
这在 iOS 6 上不会发生。