1
は、私は私が取得し、テーブルを移入したい三つのことがありますSwift 3でJSONデータを使って表を塗りつぶす方法は?
https://api.sis.kemoke.net/news
このリンクを使用してニュースを置くしたいのtableViewを作成しました。ここで
String title
String text
String link
は私のクラス
import Alamofire //Framework for handling http requests
import UIKit
/、httpリクエストを処理し、文字列としてニュースを受信し、テーブルに表示されます、このようなデータを持つ配列を記入しますクラスです/ クラスNewsTableViewController:のUITableViewController {
//Array which holds the news
var newsData:Array<String> = Array <String>()
// Download the news
func downloadData() {
Alamofire.request("https://api.sis.kemoke.net/news").responseJSON { response in
print(response.request) // original URL request
print(response.response) // HTTP URL response
print(response.data) // server data
print(response.result) // result of response serialization
//Optional binding to handle exceptions
if let JSON = response.result.value {
print("JSON: \(JSON)")
}
}
}
override func viewDidLoad() {
super.viewDidLoad()
downloadData()
extractData()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
// MARK: - Table view data source
// Number of sections i table vie
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return newsData.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
cell.textLabel?.text = newsData[indexPath.row]
return cell
}
// Extract the data from the JSON
func extractData() {
Alamofire.request("https://api.sis.kemoke.net/news").responseJSON { response in
debugPrint(response)
if let json = response.result.value {
print("JSON: \(json)")
self.newsData = json as! Array
}
}
}
// MARK: - Navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
}
後で画像を取得しようとしますが、今のところ3つの変数で十分です。
なぜあなたは二つの方法( 'extractData'と' downloadData')を持っていないことどちらも同じことをしていますか?なぜ両方が 'viewDidLoad'から呼び出されますか?どちらか一方がテーブルをリロードしないのはなぜですか? – rmaddy
@rmaddy私はviewDidLoadからそれらを呼び出す必要があると思いました。私はモバイルアプリの開発を初めて熟知しているので、私の未熟さが原因です。私の問題を解決する方法を教えてください。 –