如果您查看适用于 iOS 的 Facebook“应用程序”,则滚动UITableView
速度非常快。似乎该应用程序正在将数据呈现到不同线程(而不是主线程)中的单元格中。
我也在开发一个类似的应用程序。但是我的应用滚动速度不好。我正在使用延迟加载图像。即使这样,滚动速度也很差。
是否可以在不同的线程中填充自定义UITableViewCell
(不在主线程中)????
谢谢您的回复
假设每个 UITableViewCell 都有以下任务
你应该在后台执行 1 , 2 , 3
但是您必须并且应该在主线程中执行 4。
不要为每个 tableview 单元格创建一个单独的线程,然后再为任务 1 、 2 、 3 创建一个单独的线程。这真的是在浪费资源。
那么,如何在不为每一件事都创建线程的情况下完成所有这些背景工作。
使用大中央调度(GCD)
在 GCD 上阅读。
如果你想要一个快速的解决方法这里是
出色地。任务 4 有两件事要做。
4(a) 更新表格单元格上的一些文本以获取我们得到的日期。4(b)显示获取和调整大小的图像。
我正在服用
1 和 4(a)
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
1. DO 1 Here
2. Call a Call Back When your Task is Done
example
CallBack(Response);
});
CallBack(Response *)response{
dispatch_async(dispatch_get_main_queue(), ^{
Do your 4(a) Here
});
}