UITableView cellForRowAtIndexPath更新缓慢

时间:2013-03-28 02:31:23

标签: objective-c uitableview

在我的iOS应用中,我有UITableView原型细胞。每个cell都会显示一条文本消息,并显示label,用于显示与该消息相关的评论数。目前,在cellForRowAtIndexPath,我正在向服务器查询array,其中包含与邮件关联的评论,然后将label设置为array.count。但是,在滚动浏览table时,这会导致评论计数出现瞬间不准确,因为cellForRowAtIndexPath每次在屏幕上显示新cell时都必须查询服务器,因此有时{ {1}}将暂时显示另一条消息(旧的原型单元格)的注释计数,而新的评论计数仍在加载。什么是这个问题的最佳解决方案?

1 个答案:

答案 0 :(得分:0)

您必须在表格视图中在后台发出服务器请求,通过导入dispatch/dispatch.h然后使用此代码来执行此操作

//in the cellForRowAtIndexPath; method
dispatch_queue_t bg = dispatch_queue_create("com.you.test", NULL);
dispatch_async(bg, ^{
    //get stuff from server
});