gpt4 book ai didi

iphone - UITableView didSelectRowAtIndexPath 调用了两次

转载 作者:行者123 更新时间:2023-12-03 18:20:43 24 4
gpt4 key购买 nike

在某些情况下,UITableView didSelectRowAtIndexPath 被调用两次,导致错误不支持多次推送相同的 View Controller 实例

以下是事件的顺序:

TableView::didSelectRowAtIndexPath.  
TableView::viewWillDisappear.
PushedViewController::viewWillAppear.
TableView::didSelectRowAtIndexPath.
Error: Pushing the same view controller instance more than once is not supported'

唯一值得注意的是 UITableView 正在异步加载图像,但从未调用 didSelectRowAtIndexPath。此外,PushedViewController 被重用,以避免每次在 UITableView 中选择单元格时都必须重新加载它。

有人知道这可能是什么原因造成的吗?谢谢。

最佳答案

我也遇到了这个问题,可能千分之一的用户会受到影响,或者更少。我可以清楚地看到两个 didSelectRowAtIndexPath 相继注册了 50 毫秒。我的猜测是,这是 iOS 中的一个错误 - 一旦新的 View Controller 被推送,就不应该将新的点击定向到旧 View 。唉,我们可能需要编写代码来防止这种情况发生。这是我的想法:

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath {
if (self.navigationController.topViewController != self)
return;

... do other stuff

}

关于iphone - UITableView didSelectRowAtIndexPath 调用了两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5687991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com