2017-09-12 2 views
0

신속하게 코딩하는 법을 배우고 있습니다. 나는 다음과 같은 코드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. 
     } 
    } 


} 

예외가 발생되지 않으며 모든 이미지가로드를 사용하여 well.I'm 이미지 내에있는 이미지 셀에 이미지를로드하기 위해 노력하고있어. 내가 뭘 잘못하고있어?

+0

App Transport Security 설정에서 임의로드를 허용 했습니까? – the4kman

+0

@ the4kman 아니요 .. 음 .. 그게 뭐죠? :) – techno

+0

[이 질문] (https://stackoverflow.com/questions/31254725/transport-security-has-blocked-a-cleartext-http)을보십시오. – the4kman

답변

4

시도해보십시오.

단순한 방법.

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")) 
관련 문제