私はSwiftをかなり新しくしています。私は何をしたいのかを理解することにいくつかの問題があります。Swiftを使用して配列や類似物にjsonデータを追加する方法
私は現在jsonでいくつかのものをテストしています。 私がしようとしているのは、自分のjsonデータから取得したデータを配列に追加することです。私の配列にデータが含まれている場合、UICollectionViewにそれを提示したいと思います。私は配列を使用する必要があると仮定しています。
import UIKit
import Foundation
class ViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource {
@IBOutlet weak var collectionView: UICollectionView!
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func getData() {
let path = "http://myurl/test.json"
let url = URL(string: path)
let session = URLSession.shared
let task = session.dataTask(with: url!) { (data: Data?, response: URLResponse?, error: Error?) in
let json = JSON(data: data!)
for result in json["dokumentstatus"]["dokutskott"]["utskott"].array! {
let punkter = result["punkt"].string!
print("punkt: \(punkt)")
let rubrik = result["rubrik"].string
print("rubrik: \(rubrik)")
let forslag = result["forslag"].string
print("förslag: \(forslag)")
}
}
task.resume()
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return //someArray.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! CustomCollectionViewCell
cell.customLabel.text = //Put the data form rubrik variable
cell.customTW.text = //Put the data from foreleg variable
return cell
}
}
機能getData()
は、私はちょうど配列にこのデータを置く方法を理解する助けが必要な正しいJSONデータを取得します。 (また、私はおそらくのViewControllerにデータを取得するべきではありません知っているが、これは単なるテストです。)
import Foundation
class Information: NSObject {
var punkter: String?
var rubrik: String?
var forslag: String?
}
私は多分、私のようなものに見えるのアレイを使用すべきであると考えていますこれは:var someArray = [Information]()
しかし、私はそれを使用する方法がわからないgetData()
または私は3つの異なる配列を使用する必要があります、私のjson変数のそれぞれに1つ。
私の答えに従って、私のビューに私のCollectionViewが正しい量のセルをロードしています。 – idkwat2do
申し訳ありませんが、私は間違いなくすべてを書き終える前にコメントを投稿しました。だから私の質問を続けるために、私は今どのように私のセルのラベルを "rubrik"と "Forslag"の値を取得するTextViewの値を得るために取得するのだろうかと思っています。私は単にこれをやろうとしました: 'cell.customLabel.text = someArray [indexPath.row]'(私はそれが働かないと感じることができました)。どうすれば 'someArray'や' struct'から値を取得できますか?助けてくれてありがとう。 – idkwat2do
私は答えを – vadian