2016-09-19 5 views
-3

コレクションビューのセルからデータを受け取り、String URLを共有する次のボタンがあります。String URLから画像をダウンロード

しかし、共有する前にURLから実際のイメージをダウンロードする手段を探しています。これはSwiftでどのようにすることができますか?

//get buttonViewShareAction and share image 
@IBAction func buttonViewShareAction(sender: UIButton) { 
    print("buttonViewShareAction tapped") 
    let face = self.faces[sender.tag] 

    if let imageURL = NSURL(string:face.image) { 
     print(imageURL) 
    }   

    let shareItems:Array = [face.image] 
    let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: shareItems, applicationActivities: nil) 
    self.presentViewController(activityViewController, animated: true, completion: nil) 

} 
+0

あなたはどのような種類のデータ文字列が含まれているのですか?あなたは、「実際の画像に文字列を変換する」の意味を明確ことができます? –

+0

pekka文字列に含まれるデータは画像への単なるURLリンクであり、各セルには異なる画像とは異なるURLが含まれています。文字列の形式は次のとおりです。http://domain.com/i mage.png' – user3591436

+2

「文字列を実際のイメージに変換する」とは、通常、「URLからデータをダウンロードしてイメージを作成する」と呼ばれています。すでに何度も説明されています。 – Moritz

答えて

0

は、画像のURLを取得した後、あなたはそれの外にNSDataを作成し、このデータからUIImageを作成したいです。

スウィフト3.0

let imageData: Data = try! Data(contentsOf: URL(string: imageURL)!) 
let profileImage = UIImage(data: imageData)! 

スウィフト2

let imageData: NSData = NSData(contentsOfURL: NSURL(string: imageURL)!)! 
let profileImage = UIImage(data: imageData)! 
+0

NSDataは私が必要としていたものですが、ちょっとした修正を加えた後、私の問題を解決するのに役立ちました。ありがとうございます。 – user3591436

+2

'contentsOfURL'は同期的に動作し、エラーが発生した場合にスレッド全体をブロックすることに注意してください。 – vadian

関連する問題