JSONから名前のデータを取得し、テーブルに格納するプログラムを書いています。
エラー表示もなく、ビルドも成功しているのにJSONから取得したデータが表示されず困っています。
fruits = ["apple", "orange", "melon", "banana", "pineapple",json]
↑テーブルに表示したいデータの配列です。
最後の変数jsonに「Taro Tanaka」という名前のデータを格納しテーブルに表示させようとしていました。
しかし、pineappleまでは表示がされるのに変数jsonのデータが出ません。
なぜなのでしょうか。
JSON========================================================================================
[{"id":"1","name":"Taro Tanaka","good":"1019"},{"id":"2","name":"Saito Jiro","good":"777"}]
============================================================================================
import UIKit
import Alamofire
import SwiftyJSON
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
var fruits:[String] = []; func getjson() -> String{ var name:String = ""; let url:String = "http://www3275ui.sakura.ne.jp/anabuki/05/get/json.php" Alamofire.request(url, method: .get, encoding: JSONEncoding.default).responseJSON{ response in switch response.result { case .success: let json: JSON = JSON(response.result.value ?? kill) //Taro Tanaka格納 name = json[0]["name"].stringValue case .failure(let error): print(error) } } return name } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return fruits.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { // セルを取得する let cell: UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "fruits", for: indexPath) // セルに表示する値を設定する cell.textLabel!.text = fruits[indexPath.row] return cell }
/------------------------------------------------------------------------------------/
override func viewDidLoad() { super.viewDidLoad() let json = getjson() fruits = ["apple", "orange", "melon", "banana", "pineapple",json] // 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. }
/------------------------------------------------------------------------------------/
@IBOutlet weak var tableView: UITableView!
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/20 13:13
2018/07/20 13:21
2018/07/20 13:23
2018/07/22 09:58