//
// 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()
}
}
调用ios
//图片控件
@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,而后在运行,要否则运行时看不到任何效果的
web参考推荐,比我写的详细点swift