Xcode Swift - URLから画像を表示する
Xcode 7.0.1 Swift 2.0
参考:UIImage
下記のようにやってみましたが、NSDataに関するエラーがでました。
let url = NSURL(string: img_url); //img_urlにhttp://hoge.com/img.jpg等のStringが入っているvar err: NSError?;var imageData = NSData(contentsOfURL:url!,options: NSDataReadingOptions.DataReadingMappedIfSafe, error: &err)!;var img = UIImage(data:imageData);
let imgView = UIImageView(image:img);imgView.frame = CGRectMake(0, 0, 100, 50);self.view.addSubview(imgView);エラー内容
Cannot invoke initializer for type ‘NSData’ with an argument list of type ‘(contentsOfURL: NSURL, options: NSDataReadingOptions, error: inout NSError?)’
参考:[swift] CustomCellを利用したユーザ一覧画
Swift 2.0より、JavaではおなじみのTry-Catch構文が導入され、例外処理(エラー発生時処理)が処理されることになりました。それにともない、NSErrorを使うメソッド等の書式が変更を受けているようです。
参考:Swift 2.0 の try, catch ファーストインプレッション
let url = NSURL(string: img_url);let imgData: NSData
do { imgData = try NSData(contentsOfURL:url!,options: NSDataReadingOptions.DataReadingMappedIfSafe) let img = UIImage(data:imgData); let imgView = UIImageView(image:img); imgView.frame = CGRectMake(0, 0, 100, 50); self.view.addSubview(imgView);} catch { print("Error: can't create image.")}これでできた。