Загрузка изображения в ячейку изображения с URL
Я учусь кодировать по-быстрому. Я пытаюсь загрузить изображение в ячейку изображения, расположенную внутри изображения. Я использую следующий код
import Cocoa
class ViewController: NSViewController {
@IBOutlet weak var well: NSImageCell!
@IBAction func clickme(_ sender: Any) {
let image = NSImage(byReferencing:NSURL(string: "http://imgsv.imaging.nikon.com/lineup/lens/zoom/normalzoom/af-s_dx_18-140mmf_35-56g_ed_vr/img/sample/sample1_l.jpg")! as URL)
well.image=image;
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
}
Не выбрасывается ни одно исключение, и ни одно изображение не загружается. Что я делаю не так?
1 ответ
Решение
Попробуй это.
Простой способ.
let url = NSURL(string:"your url")
let imagedata = NSData.init(contentsOf: url! as URL)
if imagedata != nil {
imageView.image = UIImage(data:imagedata! as Data)
}
Создать расширение.
extension UIImageView{
func setImageFromURl(ImageUrl: String){
if let url = NSURL(string: ImageUrl) {
if let imagedata = NSData(contentsOf: url as URL) {
self.image = UIImage(data: imagedata as Data)
}
}
}
}
//Use this extension
imageView.setImageFromURl(ImageUrl: "your url")
Используйте AFNetworking.
//without placeholder
imageView.setImageWith(URL.init(string: "your url")!)
//with placeholder
imageView.setImageWith(URL.init(string: "your url")!, placeholderImage: UIImage.init(named: "placeholder.png"))
Используйте SDWebImage.
imageView.sd_setImage(with: URL(string: "your url"), placeholderImage: UIImage(named: "placeholder.png"))