异步线程操作

1.异步线程的方便之处就是在于可以同时处理多个任务,并且相互不会影响。最经典的案例就是网络请求和界面的卡顿之间的关系。其次还有很多读写数据之类的耗时操作,这些时候如果用异步线程处理就会达到界面流畅的效果。
2.今天写网络请求的封装的时候遇到了一个问题就是提示框开启和关闭竟然在数据返回后同时弹出和关闭。这样的效果显示不是我所想要的,而这些就是同步处理的结果。
3.其实不管是AFNetworking还是ASIHttp都是支持多线程下载的,但是你使用的时候必定在此基础上封装,而封装类库的时候你是否也做到了异步处理就不得而知了。
4.好,废话到此结束,直接上代码
//开启风火轮
[SVProgressHUD showInfoWithStatus:@”正在请求,请稍后”];
requestDic=[NSDictionary dictionaryWithObjectsAndKeys:@”“,@”headIcon”,self.username.text,@”nick”,_reginPhoneStr,@”userId”,_regionCodeStr,@”password”,simCardNum,@”simCard”, nil];
[HSAppConfig registerUserType:PhoneRegisters WithRegistDic:requestDic WithImagesUpload:nil WithRegisterResultBlock:^(BOOL reslut) {
if (reslut) {
[SVProgressHUD showSuccessWithStatus:@”注册成功”];
}
else
[SVProgressHUD showErrorWithStatus:@”注册失败,请重试”];
}];
5.这个时候就是错误的效果,界面卡顿,数据操作实际是同步的。所以这个时候就需要开启一个异步操作的线程。代码如下

(1)dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// 耗时的操作
(2)
dispatch_async(dispatch_get_main_queue(), ^{
(3)
//处理ui效果
});
});
这3个地方具体怎么跟上面的代码搭配就不必我再继续详解了吧?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值