iphone开发:线程刷新reloadData

来源:未知 责任编辑:智问网络 发表时间:2013-11-08 08:45 点击:

在开发过程中,遇到需要加载一些庞大数据,比如:可能会频繁的请求网络,显示图片

而我们不可能等待所有的图片加载完成后再去刷新表视图!!

 


如何解决?个人尝试了好几次线程的问题。终于解决。就是在子线程中给主线程发送消息!

 


个人做法是这样:

 


首先显示n张图片,n不是太大。这里n=5.然后多出n的图片放在子线程中处理完成后加载。

if([array count]>5)

            {

                [self performSelectorInBackground:@selector(show_list_item_in_background:) withObject:array];

            }

 


但是我想在每M张图片的时候就刷新一下表视图。这时候需要这样做:

 

 

- (void)show_list_item_in_background:(NSArray*)array

{

    intindex = 5;

    intsecond_run = [array count];

    while(index < second_run)

    {

        NSDictionary *dictionary = [array objectAtIndex:index];

        [self get_and_show_more:dictionary];

        index++;

       

        if(index > 5&& index % 5== 0)

        {

            [self performSelectorOnMainThread:@selector(reload_table_view_on_main_thread) withObject:nilwaitUntilDone:NO];

        }

    }

    [table_view reloadData];

    [activity_view stopAnimating];

}

 


主线程调用reload_table_view_on_main_thread方法即可对表视图进行刷新。

 


- (void)reload_table_view_on_main_thread

{

    [table_view reloadData];

}

 


摘自 云怀空-abel

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Lexical or Preprocessor Issue 'xxx.h
    • ios学习笔记(二)xcode 4.3.2下实现基本交互
    • ios版本的helloworld
    • iphone(object-c) 内存管理(3) 有效的内存管理 前半部分
    • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
    • IOS类似iphone通讯录TableView的完整demo【附源码】
    • UITableView一些方法
    • [iPhone中级]iPhone团购信息客户端的开发 (二)
    • iphone(object-c)内存管理(1)
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1