私のコードに問題があります。画像のURLを取得するレベルまでJSONを解析しました。私は、URLが私に与えているイメージでコレクションビューのセルにイメージビューを設定しようとしています。ここに私のコードです。JSONの解析と画像のURLの抽出
import UIKit
class ViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource {
var media = NSDictionary()
@IBAction func SearchBTN(_ sender: AnyObject) {
getPictures()
}
@IBOutlet weak var CollectionView: UICollectionView!
@IBOutlet weak var searchBoxTF: UITextField!
func getPictures(){
let url = URL(string: "http://www.flickr.com/services/feeds/photos_public.gne?tags=baseball&format=json&nojsoncallback=1")
let session = URLSession(configuration: URLSessionConfiguration.default)
let task = URLSession.shared.dataTask(with: url!){(data, response, error) in
if error != nil
{
print("Error")
}
else
{
if let content = data
{
do
{
let myJSON = try JSONSerialization.jsonObject(with: content, options: JSONSerialization.ReadingOptions.mutableContainers) as? AnyObject
//print(myJSON)
if let images = myJSON?["items"] as? [[String: AnyObject]]
{
var media = UIImage()
for media in images
{
// let media = self.media
print(media["media"])
}
}
}
catch
{
}
}
}
}
task.resume()
}
override func viewDidLoad() {
super.viewDidLoad()
CollectionView.delegate = self
CollectionView.dataSource = self
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return media.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ImageCell", for: indexPath) as! ImageCollectionViewCell
cell.imageView.image = media[indexPath.item]as? UIImage
return cell
}
}
JSONを見つけるのリンクをも付いていてしまいます。このコードを試してみてくださいイメージではありません。 cell.imageView.image = media [indexPath.item] as? UIImage、JSON値をUIImageに設定しようとしていますか? –
JSON結果には取得しようとしているjpegイメージのURLが含まれています。私のコードはJSONを解析してURLに到達します。 URLを抽出できないので、画像を表示できるようにUIimageViewを含むcollectionViewcellを生成するためにURLを使用できます。アドバイスはありますか? – Ingelbert
私の答えをチェックしてください私はあなたが知る必要があるすべてを更新しました。 –