gpt4 book ai didi

ios - 从 SwiftyJSON API 分配已解析的 JSON 显示错误

转载 作者:行者123 更新时间:2023-11-30 13:42:56 25 4
gpt4 key购买 nike

我最近更新到 Swift来自 Objective-C,并且以 native 方式解析 JSON 时确实令人困惑,因此在 Stack Overflow 上搜索时我发现了 SwiftyJSON API,它真的很酷。我在将解析的 JSON 值分配给标签时遇到错误。我已将结果存储在数组中,但在 TableView 上显示它时显示错误。

//Array where I store the parsed JSON
var categoryCount = [Int]()

override func viewDidLoad() {
super.viewDidLoad()

// Do any additional setup after loading the view.
getData()
}

func getData() {

Alamofire.request(.GET, "http://www.artively.com/api/MobileApi/get_parent_category")
.responseJSON { response in
if let value = response.result.value {
let json = JSON(value)
self.parseJSON(json)
}
}
}

func parseJSON(json: JSON) {
for result in json["data"].arrayValue {
print("The count are",result["product_count"].int!)
self.categoryCount.append(result["product_count"].int!)
}

print("The category count are", categoryCount.count)
}

最后,当我执行此代码时,应用程序崩溃了:

 cell.countLable.text =  "\(categoryCount[indexPath.row])"
//Error appear in above code

这是 JSON 结果:

{
"responsecode": "200",
"responsemsg": "Successfull",
"data": [
{
"pk_category_id": 60,
"category_name": "Collage",
"category_logo": "http://www.artively.com//Upload/category_logo/28102015163738_collage_icon.png",
"category_logo_selected": "http://www.artively.com//Upload/category_logo/28102015163738_collage_icon.png",
"product_count": 10
},
{
"pk_category_id": 65,
"category_name": "Contemporary",
"category_logo": "http://www.artively.com//Upload/category_logo/28102015163521_contempory_icon.png",
"category_logo_selected": "http://www.artively.com//Upload/category_logo/28102015163521_contempory_icon.png",
"product_count": 242
},
...So on

在上面的响应中,我已经解析了“product_count”的值,将其存储在数组中并将其显示在表格 View 单元格上,但应用程序崩溃了...

最佳答案

解析后您应该调用self.tableView.reloadData()。然后还要确保您正在实现此方法:

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

这将确保数组中的行数与数组中的元素数相同,因此 indexPath.row 不会超出数组边界。

关于ios - 从 SwiftyJSON API 分配已解析的 JSON 显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35347599/

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