gpt4 book ai didi

ios - JSON 转 TableView 难度

转载 作者:行者123 更新时间:2023-11-29 02:08:43 26 4
gpt4 key购买 nike

我在从 json 结果填充 TableView 时遇到困难。我的代码如下(抱歉,但它似乎不想将前两行作为代码:/):

导入 UIKit

ViewController 类:UIViewController、UITableViewDelegate、UITableViewDataSource {

override func viewDidLoad()
{
super.viewDidLoad()

let url = NSURL(string: "http://api.football-data.org/alpha/soccerseasons/354/teams")
let data = NSData(contentsOfURL: url!)
let json = NSJSONSerialization.JSONObjectWithData(data!, options: nil, error: nil) as NSDictionary

let teamsArray = json["teams"] as NSArray

print("Team List : \(teamsArray)")

for dic in teamsArray
{
let teamname = dic["name"] as NSString

let code = dic["code"] as NSString

println("Team Name, \(teamname) : Code, \(code)")
}

// self.tableViewObject.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
}

@IBOutlet weak var tableViewObject: UITableView!




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



func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell:UITableViewCell=UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "mycell")
cell.textLabel!.text = teamsArray[indexPath.row]


return cell
}

它两次提示“两次使用未解析的标识符‘teamsArray’。首先位于:

返回 teamArray.count

然后在:

cell.textLabel!.text = teamArray[indexPath.row]

有人可以帮助我解决上述错误或将我引向正确的方向,从而帮助我将 JSON 与表格 View 链接起来。

值得注意的是,当我在没有任何表格 View 提示的空白 View 上使用代码时,我在控制台中得到了完美的结果:

    let url = NSURL(string: "http://api.football-data.org/alpha/soccerseasons/354/teams")
let data = NSData(contentsOfURL: url!)
let json = NSJSONSerialization.JSONObjectWithData(data!, options: nil, error: nil) as NSDictionary

let teamsArray = json["teams"] as NSArray

print("Team List : \(teamsArray)")

for dic in teamsArray
{
let teamname = dic["name"] as NSString

let code = dic["code"] as NSString

println("Team Name, \(teamname) : Code, \(code)")
}

我是 stackoverflow 的新手,之前被告知我的问题不够具体。如果这仍然太模糊,请告诉我,我会尝试改进它。

非常感谢,艾伦。

最佳答案

像这样...

  import UIKit

class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {

@IBOutlet weak var tableViewObject: UITableView!
var teamsArray = NSArray()
override func viewDidLoad()
{
super.viewDidLoad()

self.tableViewObject.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")

let url = NSURL(string: "http://api.football-data.org/alpha/soccerseasons/354/teams")
let data = NSData(contentsOfURL: url!)
let json = NSJSONSerialization.JSONObjectWithData(data!, options: nil, error: nil) as NSDictionary

teamsArray = json["teams"] as NSArray

print("Team List : \(teamsArray)")

self.tableViewObject.reloadData()

for dic in teamsArray
{
let teamname = dic["name"] as NSString

let code = dic["code"] as NSString

println("Team Name, \(teamname) : Code, \(code)")
}


}




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



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

let cell:UITableViewCell=UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "mycell")
cell.textLabel!.text = self.teamsArray.objectAtIndex(indexPath.row).objectForKey("name") as? NSString


return cell
}

关于ios - JSON 转 TableView 难度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29502356/

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