gpt4 book ai didi

ios - 来自 URL 的 Swift 图片未显示

转载 作者:搜寻专家 更新时间:2023-10-31 22:23:00 25 4
gpt4 key购买 nike

我是 swift 的新手,不确定为什么要从 url 加载图像。代码:

        let url = NSURL(string: imageURL)
let task = NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: { (data, response, error) -> Void in
println("Should load the pic!")
var profilePic = UIImage(data: data)
self.profileImage.setImage(profilePic)
})

在我的界面 Controller 中,我有一个名为“profileImage”的图像,它与一个 IBOutlet 链接。我注意到的一件事是“应该加载图片!”没有出现在控制台中,所以它没有到达 setImage 代码..

最佳答案

当您从 URL 下载图像时。我建议你在后台执行此操作。这是适合您的示例代码:

import UIKit

class ViewController: UIViewController {

@IBOutlet weak var profileImage: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()

profileImage.contentMode = UIViewContentMode.ScaleAspectFit
if let checkedUrl = NSURL(string: "http://www.apple.com/euro/ios/ios8/a/generic/images/og.png") {
downloadImage(checkedUrl)
}
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}


func getDataFromUrl(urL:NSURL, completion: ((data: NSData?) -> Void)) {
NSURLSession.sharedSession().dataTaskWithURL(urL) { (data, response, error) in
completion(data: NSData(data: data))
}.resume()
}

func downloadImage(url:NSURL){
println("Started downloading \"\(url.lastPathComponent!.stringByDeletingPathExtension)\".")
getDataFromUrl(url) { data in
dispatch_async(dispatch_get_main_queue()) {
println("Finished downloading \"\(url.lastPathComponent!.stringByDeletingPathExtension)\".")
self.profileImage.image = UIImage(data: data!)
}
}
}
}

关于ios - 来自 URL 的 Swift 图片未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28964171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com