在UITableViewController中,调用此方法时,UI会冻结:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
将图像加载到UITableViewCell中。
cell.imageView.image = [UIImage imageWithContentsOfFile:@"filePath"];
文件本地存储在文档文件夹中 - 这不是远程调用。 我知道在创建单元格时加载图像会导致主线程冻结,如果这是一个远程调用我会使用同步加载,但你会怎么做? 为本地文件做吗?
*图像大约是500k。
需要帮助。感谢。
答案 0 :(得分:0)
例如,创建单独的线程,您将在其中加载图像并在某些array
中保存对它们的引用。当准备好所有图像(或其中的某些部分)时,您可以reload
cell
包含该消息。
在table view controller
中,您应检查image
是否已加载cell
,如果只是参考并设置了cell.imageView.image
。