Alamofireを使用してJSONデータを取得していますが、すべてをハードコード化するのではなく、すべてを配列に単純に含める方法が不思議でした。JSONのすべての項目を取得して配列に入れます
現在のところ、これはJSONファイルです:
{"One":"Item1","Two":"Item2","Three":"Item3","Four":"Item4","Five":"Item5"}
マイSWIFTコード:
var pickerData: [String] = [String]() //Array of content.
override func viewDidLoad() {
super.viewDidLoad()
Alamofire.request(.GET, "https://example.com/file.json").responseJSON{ (response) -> Void in
if let JSON = response.result.value{
let One = JSON["One"] as! String
let Two = JSON["Two"] as! String
let Three = JSON["Three"] as! String
let Four = JSON["Four"] as! String
let Five = JSON["Five"] as! String
self.mypickerview.delegate = self
self.mypickerview.dataSource = self
self.pickerData = [One, Two, Three, Four, Five]
...
私はこのように私のファイルを持つことができ、それはまだなるように、どのように私は彼らがハードコードさせることができません今後さらに追加してもJSONのすべてを含めることができます:
{"Item1","Item2","Item3","Item4","Item5","Item6"}
これはあなたの迅速なプログラミングとは関係ありません。 JSON出力の構造を変更する必要があります。固定ヘッダーを含むループに配置します。 – jo3birdtalk
サイズが不揃いで順序付けされたコレクションの場合、JSONは配列を使用して構造化する必要があります(例: '' items ":[" Item1 "、" Item2 "、" Item3 "、" Item4 "、" Item5 "] } ' –