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(), ^{
  • 相关阅读:
    WF4.0 Beta1 自定义跟踪
    WF4.0 Beta1 流程设计器与Activity Designer
    新版本工作流平台的 (二) 权限算法(组织结构部分)
    WF4.0 Beta1 WorkflowInvoker
    WF4.0 基础篇 (十) Collection 集合操作
    WF4.0 基础篇 (十五) TransactionScope 事物容器
    WF4.0 基础篇 (六) 数据的传递 Arguments 参数
    WF4B1 的Procedural Activity 之InvokeMethod , InvokeMethod<T> 使用
    WF4.0 Beta1 异常处理
    WF4.0 Beta1 变量 Variables
  • 原文地址:https://www.cnblogs.com/lsfv/p/9255113.html
Copyright © 2011-2022 走看看