gpt4 book ai didi

ios - 从 TableView 打开详细信息 View 之前的延迟

转载 作者:行者123 更新时间:2023-11-28 19:04:23 25 4
gpt4 key购买 nike

我有一个 TableView ,其中填充了来自 RSS 提要的项目。选择一行后,标题、链接、描述和图像将传递到详细信息 View 。这可行,但在选择行和打开详细 View 之间存在明显的延迟。我正在尝试找到一种优化方法,以便延迟不那么明显。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
GRSItemDetail *detail = [[GRSItemDetail alloc]initWithNibName:@"GRSItemDetail" bundle:nil];

RSSItem *entry = [[channel items]objectAtIndex:[indexPath row]];

NSURL *imageLink = [NSURL URLWithString:[entry bigImageURL]];
NSData *data = [NSData dataWithContentsOfURL:imageLink];
UIImage *image = [[UIImage alloc]initWithData:data];

detail.titleString = [entry title];
detail.descriptionString = [entry infoString];
detail.urlString = [entry link];
detail.itemImage = image;

[self.navigationController pushViewController:detail animated:YES];

[tableView deselectRowAtIndexPath:indexPath animated:YES];
}

最佳答案

延迟是由您使用 NSData *data = [NSData dataWithContentsOfURL:imageLink]; 引起的。这是从网络同步下载数据并在发生时阻塞主线程。

您应该让详细 View Controller 在显示后处理异步下载。考虑使用类似 SDWebImage 的库使这变得容易。要启用此功能,请更改 detail.itemImage 以设置图像 URL 而不是图像本身,然后在配置详细信息 View 时加载图像。

关于ios - 从 TableView 打开详细信息 View 之前的延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21799379/

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