像FaceBook一样滚动UITableView
如果你看一下iOS的Facebook“App”,那么UITableView
滚动速度非常快。 看起来应用程序正在将数据渲染到不同线程中的单元格中(而不是在主线程中)。
我也在开发类似的应用程序。 但我的应用滚动速度并不好。 我正在使用延迟加载图像。 即使这样,滚动速度也很差。
是否可以在不同的线程(不在主线程)中填充自定义UITableViewCell
????
感谢您的回复
假设您有每个UITableViewCell的以下任务
- 来自服务的GetData
- 从服务中获取图像
- 调整图像大小以匹配容器大小 (如果您获得的图像很大,则应该这样做)
- 显示您的数据 。
您应该在后台执行1,2,3
但你必须和你应该在主线程中做4。
不要为每个tableview单元创建一个单独的线程 ,然后再为任务1,2,3 创建一个单独的线程 。它真的浪费了资源。
那么如何在不为每件事创建线程的情况下完成所有这些背景。
使用GRAND CENTRAL DISPATCH (GCD)
阅读GCD。
如果你想快速解决方法就在这里
好。 任务4有两件事要做。
4(a)更新我们获得的日期表格单元格上的一些文本。 4(b)显示提取和resize的图像。
我在拿
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 }); }
- 如何从iphone照片库中获取照片总数?
- 如何使用NSURLSession和NSURLCache进行caching。 不工作
- UAMollectionView与Xamarin.iOS(MonoTouch)网格布局?
- 始终在rootViewController上打开应用程序
- 如何检查iOS中的应用程序切片function,而无需将其上传到Appstore
- 如何更改单元格的textLabel框架?
- MPMoviePlayerViewController播放来自Documents目录的电影 – objective-c
- 如何使一个UIPickerView幻灯片在屏幕上的一半?
- 为什么我得到这个代码的“wait_fences:未能收到答复”?