我正试图在swift中将一个url解析为一个表。
这是我的代码:
import UIKit
class testViewController: UITableViewController, UITableViewDelegate, UITableViewDataSource {
var updateTBL = []
override func viewDidLoad() {
super.viewDidLoad()
let urlAsString = "http://cgi.soic.indiana.edu/~team19/service.php"
let url = NSURL(string: urlAsString)!
let urlSession = NSURLSession.sharedSession()
let jsonQuery = urlSession.dataTaskWithURL(url, completionHandler: { data, response, error -> Void in
if (error != nil) {
println(error.localizedDescription)
}
var err: NSError?
var jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as NSDictionary
if (err != nil) {
// If there is an error parsing JSON, print it to the console
println("JSON Error \(err!.localizedDescription)")
}
let results: NSArray = jsonResult["results"] as NSArray
dispatch_async(dispatch_get_main_queue(), {
self.updateTBL = results
})
})
tableView.reloadData()
jsonQuery.resume()
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 0
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return updateTBL.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("UpdateCell", forIndexPath: indexPath)
as UITableViewCell
let rowData: NSDictionary = self.updateTBL[indexPath.row] as NSDictionary
cell.textLabel?.text = rowData["postNAME"] as? String
return cell
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
我在主题4中得到了一个断点但是那里没有任何东西对我来说真正有用,作为初学者要理解。
如果您看到我的错误,请告诉我。如果您需要检查表格的结构,则解析的网址在代码中为urlAsString。