URL
から画像を取得し、画像をUIImageView
とキャッシュ辞書に設定しました。 しかし、私は辞書に画像を設定すると、私はこのエラーが表示されます:swift 3.0メンバー 'subscript'へのあいまいな参照。swift 3.0メンバー 'subscript'へのあいまいな参照
var imageCache = Dictionary<String, UIImage>()
func getImage(url: String, imageView: UIImageView) {
let image = self.imageCache[url] as UIImage?
if image == nil {
let url = URL(string:url)!
let req = NSMutableURLRequest(url:url)
let session = URLSession.shared
let task = session.dataTask(with: req as URLRequest) { (data, response, error) in
if data != nil && error == nil {
let image: UIImage = UIImage(data: data!)!
imageView.image = image
self.imageCache[url] = image //******* Here got the error!
}
}
task.resume()
} else {
imageView.image = image
}
}
ありがとうございました。あなたは文字列としてあなたの辞書のキーを宣言するため
の可能性のある重複した[エラー:スウィフト3のメンバー「添字」にあいまい参照](HTTP: //stackoverflow.com/questions/37874157/error-ambiguous-reference-to-member-subscript-in-swift-3) –
@RemyCiliaは本当に同じ問題ではない – melody5417
URLRequestを一切使用しないので、 'let req ...'を呼び出し、 'url'をデータタスクの最初のパラメータとして渡します。 – vadian