我周期性地重新编译运行在我的iPhone上的调试版本的崩溃,涉及UIScrollView,而我的代码没有在堆栈帧中。我想知道它是否是我的代码或Apple的错误,并且我无法查询Apple bug数据库以查看它是否已被报告。回溯显示:如何确定UIScrollView崩溃是在我的代码还是Apple?
#0 0x30218060 in ___forwarding___()
#1 0x3020eda0 in __forwarding_prep_0___()
#2 0x309c4ce8 in -[UIScrollView(UIScrollViewInternal) _scrollViewAnimationEnded]()
#3 0x3025af60 in -[NSObject performSelector:withObject:]()
#4 0x3098ea94 in -[UIAnimator stopAnimation:]()
#5 0x3098e5a8 in -[UIAnimator(Static) _advance:]()
#6 0x3098e460 in LCDHeartbeatCallback()
#7 0x32047fe8 in HeartbeatVBLCallback()
#8 0x32a1c3ec in IOMobileFramebufferNotifyFunc()
#9 0x3188a74c in IODispatchCalloutFromCFMessage()
#10 0x3020d0b0 in __CFMachPortPerform()
#11 0x30254a76 in CFRunLoopRunSpecific()
#12 0x3025416a in CFRunLoopRunInMode()
#13 0x320452a4 in GSEventRunModal()
#14 0x308f037c in -[UIApplication _run]()
#15 0x308eea94 in UIApplicationMain()
#16 0x0000280c in main (argc=1, argv=0x2ffff58c) at /Users/esilver/Documents/Husband Material/main.m:14
问题显然在UIScrollView(UIScrollViewInternal) _scrollViewAnimationEnded
。 GDB报告:
在MyViewController,我有打电话来滚动的tableView:
[self.tableView scrollToRowAtIndexPath:scrollIndexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];
因为它是动态的,它显然是可能的,认为可以得到滚动之前弹出导航控制器动画完成。它似乎应该是UIView的工作,当它卸载时取消或等待任何悬而未决的滚动操作。因此,我认为这是Apple代码中的一个错误。
还是我错了,而且是有某种检查我的观点必须做检查,如果是滚动前卸货,还是我完全误读了这个崩溃?
FYI,此错误也只出现在低存储器条件REPRO,即我已开始接收didReceiveMemoryWarning回调。
感谢所有,
埃里克