pas*_*i86 1 multithreading objective-c uitableview grand-central-dispatch ios
我尝试理解UITableView当表格可见时,当我处理大量行时要使用的最佳实践.
这是我的行为:
我有一个UITableView和一个线程试图将数据插入此表.我认为[UITableView reloadData]对于性能方面做一个糟糕的解决方案,我知道UIKit操作是在主线程上进行的,因此当数据源更新完成时我试图发送一个NSNotification进行UITableView更新操作(beginUpdate - insertRowAtIndex - endUpdate)在主线程上,但这种技术冻结了用户界面.我必须处理1000多行.
有人已经解决了这个问题吗?是否可以使用GDC异步和同步?如果有,怎么样?提前致谢.
sim*_*one 11
你这样试试:
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView beginUpdates];
[self.tableDatalist insertObject:obj atIndex:index];
[self.tableView insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:index inSection:0]]
withRowAnimation:UITableViewRowAnimationRight];
[self.tableView endUpdates];
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4944 次 |
| 最近记录: |