首页 > 解决方案 > 在 Swift 5 中,我们如何在应用启动时为另一个 viewcontroller 下载图像,这样我们就不需要等待下载了?

问题描述

我有几个视图控制器,其中一个为其背景下载了一个相对较大的图像文件。下载大图的 viewcontroller 并不是用户打开应用时第一个显示的控制器。目前,当用户单击带有大文件的视图控制器时,应用程序在下载图像时会冻结大约 2 秒。我想知道是否有一种方法可以强制应用程序在打开应用程序开始时下载图像,以便以后可以加载图像而无需等待?

我目前有以下代码下载图像:

        let urlString = "https://mylink.com/to/the/file.png"
        let url = NSURL(string: urlString)! as URL
        if let imageData: NSData = NSData(contentsOf: url) {
            UIImage(data: imageData as Data)?.draw(in: total_new_rect)
        }
        let image_back = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()

我希望image_back可以在加载视图控制器之前创建它。谢谢你的任何提示!

标签: swiftxcodeswift5

解决方案


推荐阅读