2017-11-11 5 views
0

にタイプ「データ」の値を変換できません。 :スウィフト4:私はコードの下に使用してURLからImageViewの中の画像を表示しようとしているXcodeの9、スウィフト4.</p> <p>を使用している期待の引数の型「データ」

func getImageFromUrl(sourceUrl: String) -> UIImage { 
     let url = URL(string: sourceUrl) 
     let dict = NSDictionary(contentsOf: url!) 
     let data = Data(dictionary: dict!) 
     let image = UIImage(data: data!) 
     return image 
} 

しかし、let image = UIImage(data: data!)でエラーが発生しました。

コンパイラは言う:

が期待される引数の型に「データ」「データ」

私が間違って何をやっている型の値を変換することができませんか?

答えて

0

あなたは、私はこれをしようとすると、私は呼び出しでエラー `不正な引数のラベルを得たゼロ

func getImageFromUrl(sourceUrl: String) -> UIImage? { 
    if let imageData = try? Data(contentsOf:URL(string: sourceUrl)) { 
    return UIImage(data: imageData) 
    } 
return nil 
} 
+0

を確認することができ、コードの別のバージョン//

func getImageFromUrl(sourceUrl: String) -> UIImage { let imageData = try! Data(contentsOf: (URL(string: sourceUrl))!) let image = UIImage(data: imageData) return image! } 

、これを試してみてください( 'contentsOf:'、 'dictionary:') ' –

+0

がまだあります。このリンクを試すとエラーが発生します。役立つかもしれません。https://stackoverflow.com/questions/29472149/how-to-display-an-image -using-url – Ashish

+0

URLから確かに画像編集機能を使用すると、@Inderkumarが言ったようにnilの状態をチェックすることができますが、まだ問題点があります。 – Ashish

0
/// Returns nil if image data is not correct or some network error has happened 
func getImageFromUrl(sourceUrl: String) -> UIImage? { 
    if let url = URL(string: sourceUrl) { 
    if let imageData = try? Data(contentsOf:url) { 
     return UIImage(data: imageData) 
    } 
    } 
    return nil 
} 
関連する問題