如果你看一下iOS的Facebook“App”,滚动UITableView
的速度非常快。看起来应用程序正在将数据呈现在不同线程中的单元格中(而不是在主线程中)。
我也在开发类似的应用程序。但我的应用程序滚动速度并不好。我正在使用延迟加载的图像。即使这样,滚动速度也很差。
是否可以在不同的线程中填充自定义UITableViewCell
(不在主线程中)????
感谢您的回复
答案 0 :(得分:1)
假设您有每个UITableViewCell的以下任务
你应该在背景中执行1,2,3
但你必须在主线程中执行4。
不要为每个tableview单元创建一个单独的线程 ,然后再为任务1,2,3创建一个单独的线程。它真的浪费了资源。
那么如何在不为每件事创建线程的情况下完成所有这些背景。
使用 GRAND CENTRAL DISPATCH (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
});
}