###前提・実現したいこと
swiftでのapiで取得した情報のクラスオブジェクトでの管理
###発生している問題・エラーメッセージ
以下のソースコードを書いていたところ、クラスオブジェクトで管理した方がいいと言われましたが、なかなかどう書けばいいかわからず、困っています。
使っているライブラリはalamofireとSwiftyjsonです。
ご存知の方アドバイスいただけたらありがたいです。
不足の情報などありましたらお申し付けくださいませ。
使っているapiはカーリルapi(https://calil.jp/doc/api_ref.html)です。
###該当のソースコード
Swift3.0
1class DetailViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { 2 var latitude:String = "" 3 var longtitude:String = "" 4 var libraries: [[String: String?]] = [] 5 6 7 @IBOutlet weak var table: UITableView! 8 9 10 11 override func viewDidLoad() { 12 super.viewDidLoad() 13 //let appdelegateIndetail = UIApplication.shared.delegate as! AppDelegate 14 //let latitude = appdelegateIndetail.latitude 15 //let longtitude = appdelegateIndetail.longtitude 16 17 let parameters:Parameters = [ 18 "appkey":"9500e8c7c8591a8cd5171f2d9965720a", 19 "geocode":"\(longtitude),\(latitude)", 20 "limit":"10", 21 "format":"json", 22 "callback":"" 23 24 ] 25 26 27 28 Alamofire.request("https://api.calil.jp/library", parameters:parameters,encoding:URLEncoding.default).responseJSON { response in 29 print(response.result.value) 30 guard let object = response.result.value 31 else{ 32 33 return 34 } 35 let json = JSON(object) 36 json.forEach{ (_, json) in 37 let library:[String :String?] = [ 38 39 "formal": json["formal"].string, 40 "distance" :json["distance"].string 41 42 ] 43 self.libraries.append(library) 44 } 45 print(self.libraries) 46 self.table.reloadData() 47 48 49 } 50 51 52 //table.frame = view.frame 53 table.dataSource = self 54 table.delegate = self 55 56 57 58 // Do any additional setup after loading the view. 59 } 60
###試したこと
課題に対してアプローチしたことを記載してください
###補足情報(言語/FW/ツール等のバージョンなど)
Xcode8,Swift3.0,Alamofire,SwiftyJson
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。