我在我的应用程序上使用主从示例。
我添加了MBProgressHUD以在加载细节时显示加载屏幕。
问题是我不知道我在线程上做错了什么,但我最终有两种方法:
1 - 如果我不抛出 dispatch_async(),HUD 会延迟显示;
2 - 如果我在 dispatch_async() 中执行 segue,则加载内容所需的时间比必要的要多。
下面是示例 1 的代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[HUD show:YES];
[self performSegueWithIdentifier:@"detail" sender:nil];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
下面是示例 2 的代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[HUD show:YES];
dispatch_queue_t taskQ = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0);
dispatch_async(taskQ, ^{
[self performSegueWithIdentifier:@"detail" sender:nil];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
});
}
有什么线索吗?