Swift3、Alamofire、AlamofireImageを試してみる。私はいくつかのInstagram画像をテーブルビューに表示しようとしています。私はこのようになりAlamofireを使用して取得場所のdata.json
ファイルがあります:URLから複数の画像を取得して表示する
{
"places" : [
{ "name" : "place1", "url" : "http://instagramImage1.jpg" },
{ "name" : "place2", "url" : "http://instagramImage2.jpg" },
{ "name" : "place3", "url" : "http://instagramImage3.jpg" },
]
}
私が持っているセットアップPlaceTableViewCell
UIImageView
とし、対応するコントローラ内のコンセントにそれを取り付けました。
私も含まれPlaceTableViewController
あります
loadJson()
と機能は次のようになります:
private func loadJson() {
Alamofire.request("https://example.com/data.json").responseJSON { response in
if let JSON = response.result.value as? [String : Any],
let places = JSON["places"] as? [[String : String]] {
for place in places {
//should I call loadImage() function here?
}
}
}
}
I私はプライベート関数を呼び出すviewDidLoad()
方法で
var places = [Place]() //empty array to store places
をJSONファイルの各場所のモデルもあります:
import UIKit
class Place {
var name: String
var url: String
init?(name: String, url: String) {
self.name = name
self.url = url
}
}
QUESTION
私はどこここから行くのか分かりません。私は自分のプロジェクトに含まれているAlamofireImageを使って各画像をダウンロードしたいと思いますが、これを何らかのループで行うことはできますか?私はまた、新しいテーブルの行に各画像を表示したいと思います。アドバイスやコード例は非常に高く評価されます。
行の各セルに、AlamofireImageでイメージをロードします。 'loadJSON()'でそれを行うと、すべての画像をプリフェッチしますが、それは本当ですが、ユーザがスクロールせずに各画像を見ると、何もプリフェッチしません。 – Larme