欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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,然后在运行,要不然运行时看不到任何效果的
ios开发中swift imgview 加载网络图片