Iphone 是否有办法取消已设置动画的UITableView/UIScrollView setContentOffset:animated:?

Iphone 是否有办法取消已设置动画的UITableView/UIScrollView setContentOffset:animated:?,iphone,uitableview,uiscrollview,Iphone,Uitableview,Uiscrollview,当我的UITableView在制作动画时被释放时,我的应用程序正在崩溃。只要动画完成,应用程序就可以正常运行。下面是点击ui按钮的结果,该按钮调用[tableView setContentOffset:offset animated:YES]然后在BackbarButtonim上快速点击,弹出UITableViewController: #0 0x31ec3ebc in objc_msgSend #1 0x33690248 in -[UIScrollView(UIScrollViewInte

当我的
UITableView
在制作动画时被释放时,我的应用程序正在崩溃。只要动画完成,应用程序就可以正常运行。下面是点击
ui按钮的结果,该按钮调用
[tableView setContentOffset:offset animated:YES]
然后在
BackbarButtonim
上快速点击,弹出
UITableViewController

#0  0x31ec3ebc in objc_msgSend
#1  0x33690248 in -[UIScrollView(UIScrollViewInternal) _scrollViewAnimationEnded]
#2  0x30defa14 in -[NSObject performSelector:withObject:]
#3  0x33690098 in -[UIAnimator stopAnimation:]
#4  0x3368fb7c in -[UIAnimator(Static) _advance:]
...
我从未在
\u scrollViewAnimationEnded
上看到过崩溃,谷歌显然也没有。我尝试调用
[tableView setContentOffset:offset动画:否]UITableViewController
-(void)view将消失:(BOOL)animated
方法的code>,但这并没有解决问题


在动画制作过程中停止
UITableView
UIScrollView
有什么想法吗?

这看起来可能是一个代表问题。您是否有该表的委托,如果有,是否在该表运行时解除委托?在释放tableView的委托之前,尝试将其置零


[tableView在制作动画时由CoreAnimation保留,因此这可能不是问题所在。]

我认为您的问题在于,在发布tableView之前,您正在释放数据源数组。也可以在dealloc中检查这一点,如果将刷新控制器作为子视图插入到表视图中,则可能会发生这种情况(我的提示是,千万不要这样做)

我并没有显式地释放表视图——问题发生在它的控制器从视图中弹出时(如果有必要,由从内存中删除的导航控制器指示)。不过,我认为您已经解决了这个问题……自从在视图出现/消失时分配和取消表视图的委托以来,我一直无法重现此崩溃。谢谢顺便说一下,即使使用ARC,我也看到了这种崩溃。确保手动将表中的代理归零!