zoukankan      html  css  js  c++  java
  • ios 异步和多线程

    1

        //display&data
        _myview.view_searchbar.btn_back.hidden=true;
        [LSJsonHelper PrintLog:@"viewdidload"];
        [LSJsonHelper RequestHttp:gbl_urlindexcategory handle:^(NSDictionary *data) {
            [LSJsonHelper PrintLog:@"callback"];
            _data_category=[LSJsonHelper ConverJason2Model:data cc:[LSModel_VCategory_All class] isArray:YES];
            NSString *img1=[NSString stringWithFormat:@"%@%@",gbl_imgspath,_data_category[0].cg_pic];
            [LSJsonHelper PrintLog:@"before request img"];
            
            dispatch_async(dispatch_get_main_queue(), ^{
                [LSNSURL LoadImageForimg:img1 img:_myview.image_eat];
                [LSJsonHelper PrintLog:@"after set img to imagevie"];
            });
            
            [LSJsonHelper PrintLog:@"end this function"];
        }];
    2018-07-02 17:22:12.302 MyCity100[3014:82518] 2018-07-02 05:22:12:301.<NSThread: 0x7b771880>{number = 1, name = main} :viewdidload
    2018-07-02 17:22:12.309 MyCity100[3014:82518] 2018-07-02 05:22:12:309.<NSThread: 0x7b771880>{number = 1, name = main} :viewWillAppear
    2018-07-02 17:22:12.354 MyCity100[3014:82518] 2018-07-02 05:22:12:355.<NSThread: 0x7b771880>{number = 1, name = main} :viewDidAppear
    2018-07-02 17:22:12.431 MyCity100[3014:82573] 2018-07-02 05:22:12:431.<NSThread: 0x7c98ed90>{number = 3, name = (null)} :callback
    2018-07-02 17:22:12.436 MyCity100[3014:82573] 2018-07-02 05:22:12:436.<NSThread: 0x7c98ed90>{number = 3, name = (null)} :before request img
    2018-07-02 17:22:12.437 MyCity100[3014:82573] 2018-07-02 05:22:12:437.<NSThread: 0x7c98ed90>{number = 3, name = (null)} :end this function
    2018-07-02 17:22:15.616 MyCity100[3014:82518] 2018-07-02 05:22:15:616.<NSThread: 0x7b771880>{number = 1, name = main} :after set img to imagevie

    可以看到。异步网络请求后的回调函数是在子线程中执行。

    所以时间上一般页面执行完了显示函数,才会执行回调。

    更主要的是页面上的控件都是在主线程上创建的。基本所有语言都是要求由主线程进行刷新。

    oc 也不例外,所以编写主线程的回调函数。

     dispatch_async(dispatch_get_main_queue(), ^{
  • 相关阅读:
    【方法1】删除Map中Value反复的记录,而且仅仅保留Key最小的那条记录
    hdu3415 Max Sum of Max-K-sub-sequence 单调队列
    HBase总结(十八)Hbase rowkey设计一
    Makefile生成器,使用C++和Boost实现
    quartz cron表达式在线生成
    NS3网络仿真(6): 总线型网络
    连载:面向对象葵花宝典:思想、技巧与实践(35)
    zoj 2921 Stock(贪心)
    11g RAC 加节点 之 手动加入vip 资源
    [Unity3D]Unity+Android交互教程——让手机&quot;动&quot;起来
  • 原文地址:https://www.cnblogs.com/lsfv/p/9255113.html
Copyright © 2011-2022 走看看