gpt4 book ai didi

ios - 表格 View 未快速加载

转载 作者:搜寻专家 更新时间:2023-10-31 22:51:35 26 4
gpt4 key购买 nike

我在快速解析 json 文件时无法加载 TableView 。

解析数据效果很好。但是 TableView 中没有显示任何数据。

这是代码:

import UIKit

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

@IBOutlet weak var redditListTableView: UITableView!

var tableData = []

@IBAction func cancel(sender: AnyObject) {
self.dismissViewControllerAnimated(false, completion: nil)
println("cancel")
}
@IBAction func done(sender: AnyObject) {
println("done")
}

override func viewDidLoad() {
super.viewDidLoad()
searchJsonFile("blabla.json")
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
println(tableData.count)
return tableData.count
}

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 0
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "MyTestCell")

let rowData: NSString = self.tableData[indexPath.row] as NSString
cell.textLabel.text = rowData as String

return cell
}

func searchJsonFile(searchFile: String) {

let urlPath = "http://data.../\(searchFile)"
let url = NSURL(string: urlPath)
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(url!, completionHandler: {data, response, error -> Void in
println("Task completed")
if(error != nil) {
// If there is an error in the web request, print it to the console
println(error.localizedDescription)
}
var err: NSError?

var jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as NSDictionary

if(err != nil) {
println("JSON Error \(err!.localizedDescription)")
}
var results = [String]()

if let results1 = jsonResult["data"] as? NSDictionary{
for (key, value) in results1 {
if let eng = value["eng"] as? NSDictionary {
if let name = eng["name"] as? NSString{
results.append(name)
}
}
}
}

//println(results) OK!!!!

dispatch_async(dispatch_get_main_queue(), {
self.tableData = results
self.redditListTableView.reloadData()
})

})

task.resume()

}

}

最佳答案

您从 numberOfSectionsInTableView 返回 0 - 因此您没有显示任何数据。你想要 1 个部分 -

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}

关于ios - 表格 View 未快速加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26772348/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com