gpt4 book ai didi

ios - 试图关闭 UIViewController 时出现奇怪的问题

转载 作者:行者123 更新时间:2023-11-28 21:34:26 25 4
gpt4 key购买 nike

我有一个包含 UITableViewUIViewController,我想在单击表格的单元格时关闭 UIViewController。所以我实现了这个方法:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

在这个方法中我调用了:

[self dismissViewControllerAnimated:YES completion:nil];

出于某种原因,当我单击单元格时,应用程序卡住,我需要再次单击才能关闭 UIViewController。我什至在那里放了一个断点来检查它是否在第一次或第二次点击时到达它,在第一次点击时它到达断点,然后我点击继续执行,我需要再次点击。

有人在 iOS 上遇到过这个问题吗?

最佳答案

首先,您似乎使用了 didDeselectRowAtIndexPath 而不是 didSelectRowAtIndexPath。确保您使用的是 didSelect...,而不是 didDeselect...

其次,它卡住是因为 tableView:didSelectRowAtIndexPath: 方法不是在主线程上调用的。您必须使用 GCD 在主队列中执行您的代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
dispatch_async(dispatch_get_main_queue(), ^{
[self dismissViewControllerAnimated:YES completion:nil];
});
}

关于ios - 试图关闭 UIViewController 时出现奇怪的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34478815/

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