1
我創建了一個在的tableView我希望通過此鏈接如何在Swift 3中使用JSON數據填充表格?
https://api.sis.kemoke.net/news
有三件事情,我想和填充表放消息。
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.
}
}
後來我會嘗試獲取圖片,但現在這三個變量應該足夠了。
爲什麼你有兩個方法('extractData'和'downloadData'),其兩者都做同樣的事情?爲什麼都從'viewDidLoad'調用?爲什麼沒有人重新加載表格? – rmaddy
@rmaddy我認爲從viewDidLoad調用它們是很有必要的。這是由於我對手機應用程序開發不熟悉所致,因爲我缺乏經驗。請你解釋一下如何解決我的問題? –