IOS網路、多執行緒、shareSDK-使用EDG多執行緒技術下載圖片
阿新 • • 發佈:2018-12-29
使用EDG中央排程多執行緒技術實現圖片的非同步下載
// // ViewController.swift // Dome2test // // Created by 郭文亮 on 2018/11/22. // Copyright © 2018年 finalliang. All rights reserved. // import UIKit class ViewController: UIViewController { var imageView = UIImageView() override func viewDidLoad() { super.viewDidLoad() imageView.frame = CGRect(x: 20, y: 80, width: 280, height: 280) self.view.addSubview(imageView) let picPath = "https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=2413290520,2311083305&fm=27&gp=0.jpg" let picUrl = URL(string: picPath) //使用分離新執行緒選擇器方法 建立一個執行緒 用來執行下載圖片的方法 let globalQueue = DispatchQueue.global() //建立一個非同步方法 用來下載網路圖片 globalQueue.async { //通過Data下載網路圖片 並將下載後的二進位制資料儲存在常量中 let picData = try? Data(contentsOf: picUrl!) //將資料物件轉換成 圖片物件 let picture = UIImage(data:picData!) //返回主執行緒 更新UI DispatchQueue.main.async { self.imageView.image = picture } } } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }