博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
开一个线程来处理 耗时的操作
阅读量:4684 次
发布时间:2019-06-09

本文共 1222 字,大约阅读时间需要 4 分钟。

 

往往有很多操作会堵塞我们的UI这时候我们需要写一个线程来控制

这是我们检查是否有新版本的更新时候 写的

 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{

        // 耗时的操作

        NSDictionary *infoDict = [[NSBundle mainBundle] infoDictionary];

        

        NSString *nowVersion = [infoDict objectForKey:@"CFBundleShortVersionString"];

        NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.apple.com/lookup?id=%@", kStoreAppId]];

        NSString * file =  [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];

        

        NSRange substr = [file rangeOfString:@"\"version\":\""];

        NSRange range1 = NSMakeRange(substr.location+substr.length,10);

        NSRange substr2 =[file rangeOfString:@"\"" options:nil range:range1];

        NSRange range2 = NSMakeRange(substr.location+substr.length, substr2.location-substr.location-substr.length);

        NSString *newVersion =[file substringWithRange:range2];

        dispatch_async(dispatch_get_main_queue(), ^{

            NSLog(@"%@===vs====%@",nowVersion,newVersion);

            // 更新界面

            if(![nowVersion isEqualToString:newVersion])

            {

                UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"版本有更新"delegate:self cancelButtonTitle:@"忽略"otherButtonTitles:@"更新",nil];

                 [alert show];

            }

        });

    });

 

转载于:https://www.cnblogs.com/walkingzmz/p/5691570.html

你可能感兴趣的文章
namedtuple简介
查看>>
cmds jdbc连接写法
查看>>
poj2785 简单二分
查看>>
hydra 中文文档
查看>>
JS中常见问题
查看>>
Add
查看>>
RabbitMQ消息队列
查看>>
Directx教程(25) 简单的光照模型(4)
查看>>
微信公众号对接第三方平台开发
查看>>
WPF DataGrid 性能加载大数据
查看>>
零元学Expression Blend 4 - Chapter 34 啊~!!我不要毛毛的感觉!-使用布局修整「UseLayoutRounding」...
查看>>
执行计划的生成
查看>>
大叔也说Xamarin~Android篇~环境部署与破解
查看>>
[WP8] 使用ApplicationMenu与使用者互动
查看>>
开源Word读写组件DocX介绍与入门
查看>>
校园网络安全CTF 第一题 和 你真了解我吗?
查看>>
小记6月27
查看>>
外网teamview连接不上服务器teamview的错误: 一直显示正在连接,正在初始化显示参数的...
查看>>
win2012R2安装net4.6.2失败提示“更新2919355包问题,或者win8.1、win10”的错误
查看>>
FLASK基础
查看>>