扫码关注官方订阅号
didSeletedRowAtIndexPath方法调用UIAlertController会卡顿,求解!
闭关修行中......
有很多人遇到过类似的问题, 好像是个 bug, 你试试切换到主线程来显示 UIAlertController:
dispatch_async(dispatch_get_main_queue(), ^{ [self presentViewController:alertController animated:YES completion:nil]; });
按理来说不应该是这样的, 因为 didSelectRowAtIndexPath 应该也是在主线程执行的。
didSeletedRowAtIndexPath 估计这个方法是异步执行的,曾经使用 [tableView selectRowAtIndexPath: animated: scrollPosition:]崩掉了,但是使用 [Controller tableView: didSelectRowAtIndexPath:]不崩。在cell的数据源方法里调用的,但是打印出的信息来看,didSelectRowAtIndexPath: 是等数据源方法全部执行完之后才调用。
[tableView selectRowAtIndexPath: animated: scrollPosition:]
[Controller tableView: didSelectRowAtIndexPath:]
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
有很多人遇到过类似的问题, 好像是个 bug, 你试试切换到主线程来显示 UIAlertController:
按理来说不应该是这样的, 因为 didSelectRowAtIndexPath 应该也是在主线程执行的。
didSeletedRowAtIndexPath 估计这个方法是异步执行的,曾经使用
[tableView selectRowAtIndexPath: animated: scrollPosition:]崩掉了,但是使用[Controller tableView: didSelectRowAtIndexPath:]不崩。在cell的数据源方法里调用的,但是打印出的信息来看,didSelectRowAtIndexPath: 是等数据源方法全部执行完之后才调用。