SwiftUI—如何下载并使用图像视图显示网络图片

简介: SwiftUI—如何下载并使用图像视图显示网络图片

异步加载网络图片。

示例代码:


struct ContentView : View {
    @State private var remoteImage : UIImage? = nil //该属性拥有@State标记,所以当该属性的值发生变化时,和改属性绑定的图像视图,将立即显示新的图像内容
    let placeholderOne = UIImage(named: "Picture") //占位图
    var body: some View {
        Image(uiImage: self.remoteImage ?? placeholderOne!) //如果网络图片属性的值不为空,则显示下载后的网络图片,否则显示占位符图片
            .onAppear(perform: fetchRemoteImage) //当图片显示之后,将立即执行下载网络图片的方法
    }
    func fetchRemoteImage() //用来下载互联网上的图片
    {
        guard let url = URL(string: "http://hdjc8.com/images/logo.png") else { return } //初始化一个字符串常量,作为网络图片的地址
        URLSession.shared.dataTask(with: url){ (data, response, error) in //执行URLSession单例对象的数据任务方法,以下载指定的图片
            if let image = UIImage(data: data!){
                self.remoteImage = image //当图片下载成功之后,将下载后的数据转换为图像,并存储在remoteImage属性中
            }
            else{
                print(error ?? "") //如果图片下载失败之后,则在控制台输出错误信息
            }
        }.resume() //通过执行resume方法,开始下载指定路径的网络图片
    }
}


注:在进入实时预览模式之后,才会进行网络链接和数据的下载


2466108-4b4dc551a3c977bd.webp.jpg


目录
相关文章
|
8月前
|
机器学习/深度学习 算法 网络架构
基于yolov2深度学习网络的人脸检测matlab仿真,图像来自UMass数据集
**YOLOv2算法在MATLAB2022a中实现人脸检测:** 展示6个检测结果图,利用Darknet-19进行特征提取,网络每个网格预测BBox,包含中心偏移、尺寸、置信度和类别概率。多任务损失函数结合定位、置信度和分类误差。程序加载预训练模型,遍历图像,对检测到的人脸以0.15阈值画出边界框并显示。
|
8月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
PYTHON TENSORFLOW 2二维卷积神经网络CNN对图像物体识别混淆矩阵评估|数据分享
PYTHON TENSORFLOW 2二维卷积神经网络CNN对图像物体识别混淆矩阵评估|数据分享
|
8月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【PyTorch实战演练】使用Cifar10数据集训练LeNet5网络并实现图像分类(附代码)
【PyTorch实战演练】使用Cifar10数据集训练LeNet5网络并实现图像分类(附代码)
504 0
|
2月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
利用Python和TensorFlow构建简单神经网络进行图像分类
利用Python和TensorFlow构建简单神经网络进行图像分类
65 3
|
2月前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习的奇迹:如何用神经网络识别图像
【10月更文挑战第33天】在这篇文章中,我们将探索深度学习的奇妙世界,特别是卷积神经网络(CNN)在图像识别中的应用。我们将通过一个简单的代码示例,展示如何使用Python和Keras库构建一个能够识别手写数字的神经网络。这不仅是对深度学习概念的直观介绍,也是对技术实践的一次尝试。让我们一起踏上这段探索之旅,看看数据、模型和代码是如何交织在一起,创造出令人惊叹的结果。
41 0
|
3月前
|
机器学习/深度学习 PyTorch API
深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)
深度学习入门:卷积神经网络 | CNN概述,图像基础知识,卷积层,池化层(超详解!!!)
|
4月前
|
机器学习/深度学习 自然语言处理 计算机视觉
用于图像和用于自然语言的神经网络区别
主要区别总结 数据结构:图像数据是二维像素矩阵,具有空间结构;文本数据是一维序列,具有时间结构。 网络架构:图像处理常用CNN,注重局部特征提取;自然语言处理常用RNN/LSTM/Transformer,注重序列和全局依赖。 操作单元:图像处理中的卷积核在空间上操作;自然语言处理中的注意力机制在序列上操作。
32 2
|
5月前
|
存储 网络架构
网络速率与下载速率
【8月更文挑战第8天】
333 1
网络速率与下载速率
|
5月前
|
机器学习/深度学习 人工智能 编解码
【神经网络】基于对抗神经网络的图像生成是如何实现的?
对抗神经网络,尤其是生成对抗网络(GAN),在图像生成领域扮演着重要角色。它们通过一个有趣的概念——对抗训练——来实现图像的生成。以下将深入探讨GAN是如何实现基于对抗神经网络的图像生成的
48 3
|
7月前
|
Python
【干货】Python下载网络小说
【干货】Python下载网络小说

热门文章

最新文章