Я получаю файл JSON с удаленного сервера, и я могу отобразить результат в метке. Данные JSON работают нормально, когда я вызываю функцию processJSONData()
, и tableview отлично работает с простым массивом. Как я могу включить оба для отображения результата из файла JSON в представлении таблицы? Пожалуйста, просмотрите приведенный ниже код и отредактируйте его. Большое спасибо:Parsing JSON в tableview
import UIKit
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var countryLabel: UILabel!
@IBOutlet weak var capitalLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
//processJSONData()
self.myTableView.registerClass(UITableViewCell.self,forCellReuseIdentifier: "cell")
self.myTableView.dataSource = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func processJSONData(){
let urlPath = "http://dubaisinan.host22.com/service1.php"
let url : NSURL = NSURL(string: urlPath)!
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(url,completionHandler: {(data, respose, error) -> Void in
if error != nil {
println(error)
}
else {
self.abc(data)
}
})
task.resume()
}
func abc(data:NSData)
{
var parseError: NSError?
let result:AnyObject? = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &parseError);
if(parseError == nil){
if let dictResult = result as? NSArray{
dispatch_async(dispatch_get_main_queue()) {
self.countryLabel.text = dictResult[2]["Capital"] as? String
}
}
}
}
@IBOutlet weak var myTableView: UITableView!
var items = ["One","Two", "Three","Four"]
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return items.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell:UITableViewCell = self.myTableView
.dequeueReusableCellWithIdentifier("cell") as UITableViewCell
cell.textLabel?.text = self.items[indexPath.row]
return cell
}
}
Этот вопрос сбивает с толку. Вы просто хотите добавить или использовать дополнительные поля в ячейке просмотра таблицы с данными? –
Привет, Майкл, я просто хочу отобразить следующий результат JSON из удаленного db в tableview: [{«Страна»: «Канада», «Капитал»: «Отава»}, {«Страна»: «Франция», Капитал ":" Париж "}, {" Страна ":" Англия», "Столица": "Лондон"}]. Как я уже упоминал, файл JSON работает нормально, и один из элементов может отображаться на ярлыке. Как я могу отобразить информацию в виде таблицы? Спасибо. – Simon
Это полностью зависит от того, как вы хотите, чтобы ваши камеры выглядели и какую информацию вы хотите отображать. Отправьте свой пример JSON в вопрос и, возможно, покажите, как вы хотите, чтобы ваша ячейка таблицы выглядела. –