2017-09-12 5 views
0

J'apprends à coder rapidement. Je suis en train de charger une image sur une cellule d'image située dans une image well.I'm en utilisant le code suivantChargement de l'image vers l'image Cellule de l'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. 
     } 
    } 


} 

Aucune exception est levée, ni aucune image chargée. Qu'est-ce que je fais mal?

+0

Avez-vous autorisé les charges arbitraires dans les paramètres de sécurité du transport de l'application? – the4kman

+0

@ the4kman Non .. hmm .. qu'est-ce que c'est? :) – techno

+0

Jetez un oeil à [cette question] (https://stackoverflow.com/questions/31254725/transport-security-has-blocked-a-cleartext-http). – the4kman

Répondre

4

Essayez ceci.

Simple Way.

let url = NSURL(string:"your url") 
     let imagedata = NSData.init(contentsOf: url! as URL) 

     if imagedata != nil { 
      imageView.image = UIImage(data:imagedata! as Data) 
     } 

Créer une extension.

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") 

Utiliser 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")) 

Utilisez SDWebImage.

imageView.sd_setImage(with: URL(string: "your url"), placeholderImage: UIImage(named: "placeholder.png"))