ios-swift imgview 加载网络图片

//
//  My_UIImageView.swift
//  iosTest
//
//  Created by 陕西帮你电子科技有限公司 on 2018/4/24.
//  Copyright © 2018年 陕西帮你电子科技有限公司. All rights reserved.
//  自定义UIImageView扩展,实现加载网络图片
//

import Foundation
import UIKit

extension UIImageView{
    func downloadedFrom(imageurl : String){
        //创建URL对象
        let url = URL(string: imageurl)!
        //创建请求对象
        let request = URLRequest(url: url)

        let session = URLSession.shared
        let dataTask = session.dataTask(with: request, completionHandler: {
            (data, response, error) -> Void in
            if error != nil{
                print(error.debugDescription)
            }else{
                //将图片数据赋予UIImage
                let img = UIImage(data:data!)

                // 这里需要改UI,需要回到主线程
                DispatchQueue.main.async {
                  self.image = img
                }

            }
        }) as URLSessionTask

        //使用resume方法启动任务
        dataTask.resume()
    }
}

调用

//图片控件
@IBOutlet var image1: UIImageView!
image1.downloadedFrom(imageurl: "http://pic.58pic.com/58pic/15/24/50/43Q58PICkj4_1024.jpg")

这里用到http,所以在运行之前先设置一下Info.plist,在Info.plist中添加“App Transport Security Settings”,然后在“App Transport Security Settings”中将Allow Arbitrary Loads设置为YES,然后在运行,要不然运行时看不到任何效果的
ios-swift imgview 加载网络图片_第1张图片

参考推荐,比我写的详细点

你可能感兴趣的:(ios)