#image #url #download #swift3 #xcode8
#изображение #url #Скачать #swift3 #xcode8
Вопрос:
Я пытаюсь загрузить изображение со своего веб-сервера, используя Xcode 8 и Swift 3. Это выглядит так. Запрос возвращает ноль. Есть предложения, почему?
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var view1: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func load(_ sender: UIButton) {
let url = URL(string:"http://www.example.com/folder2/pic3-1.jpg")
let task = URLSession.shared.dataTask(with: url!) { data, response,
error in
guard let data = data, error == nil else { return }
DispatchQueue.main.sync() {
self.view1.image = UIImage(data: data)
}
}
task.resume()
}
@IBAction func reset(_ sender: UIButton) {
self.view1.image="blankU.png"
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
Есть идеи, почему изображение возвращает nil с сервера?
Комментарии:
1. Почему вы не спрашиваете
error
параметрdataTask
?2. Может ли параметр ошибки быть напечатан в окне отладки с помощью print(ошибка)?
3. Да, конечно.
4. выводится сообщение print(ошибка): ноль. Что-то не так с веб-сервером? Фотография есть в соответствии с ftp-менеджером. Но он также не отвечает на вызов из Safari.
5. Вы должны использовать асинхронную отправку (без круглых скобок)
DispatchQueue.main.async {...
Ответ №1:
Кодирование Xcode8, Swift3 в порядке. Сервер заблокирован.