swift详解之十四 -----------NSThread 异步下载图片

本文详细介绍了在iOS中使用NSThread进行异步下载网络图片的实现方法,探讨了NSThread的优缺点,并提供了示例代码,展示了如何在主线程中更新UI。通过类方法和实例方法创建线程,以及在不同线程间的数据同步操作。
摘要由CSDN通过智能技术生成

NSThread 异步下载图片

在IOS中处理多线程有三个方案 , NSThread 、NSOperation 、GCD 。当然GCD应该是最方便的 ,我们一个一个学 。先理解底层的,最后再使用最方便的 。

NSThread:
优点:NSThread 比其他两个轻量级
缺点:需要自己管理线程的生命周期,线程同步。线程同步对数据的加锁会有一定的系统开销

我们先研究下用NSThread 异步加载网络图片 :

NSThread有两种创建方式 ,一种是通过实例方法。一种是通过类方法。

let thread = NSThread(target: self, selector: "doSomeThing", object: nil);

 NSThread.detachNewThreadSelector("doSomeThing1", toTarget: self, withObject: nil);

通过类方法创建的自动开启,通过实例方法创建的要手动调用start() 方法去开启

 let  picAddress = "http://www.apple.com/euro/ios/ios8/a/generic/images/og.png"
    let  picAddress1 = "https://avatars2.githubusercontent.com/u/8502419?v=3&s=400"

这里我们先定义两张来自网络的图

@IBOutlet weak var activity: UIActivityIndicatorView!
&
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值