ios开发中swift imgview 加载网络图片
程序员文章站
2022-10-26 11:42:23
ios开发中swift imgview 加载网络图片。
//
// my_uiimageview.swift
// iostest
//
// created by 陕西帮你电子科...
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: "https://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,然后在运行,要不然运行时看不到任何效果的