我在json中有以下数据:
[
{
id: 10033,
title: {
rendered: "My title"
},
content: {
rendered: "Sample text html",
}
}
我的数据结构如下:
// Create structer of Post
struct JsonSosTalleres : Codable {
let id : Int?
let title : Title?
let content : Content?
enum CodingKeys: String, CodingKey {
case id = "id"
case title = "title"
case content = "content"
}
}
struct Title : Codable {
let rendered : String?
enum CodingKeys: String, CodingKey {
case rendered = "rendered"
}
}
struct Content : Codable {
let rendered : String?
enum CodingKeys: String, CodingKey {
case rendered = "rendered"
}
}
我需要在表格中显示这些数据,我有两个出口:titlePost
(标签)y contentPost
好吧,但我的问题是在调用单元格中的数据时,我无法调用JSON数据,因为它有双括号。
private var getData = [DownloadJson]()
override func viewDidLoad() {
super.viewDidLoad()
DownloadJson()
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tablaView.dequeueReusableCell(withIdentifier: "ofertcell") as? OfertasTableViewCell else { return UITableViewCell() }
// How do I define my code here to call the title?
cell.titlePost.text = getData[indexPath.row].title
return cell
}
// funtion get json ()
func DownloadJson() {
.....
}
如何在此处定义代码以调用标题?
以下我收到错误"无法指定类型'标题的值?'键入' String?' "
cell.titlePost.text = getData[indexPath.row].title
还尝试了以下内容:cell.titlePost.text = getData.Title[indexPath.row].rendered
但我没有成功,如果你能指导我,我将不胜感激。谢谢。
答案 0 :(得分:1)
更改
cell.titlePost.text = getData[indexPath.row].title
到
cell.titlePost.text = getData[indexPath.row]?.title?.rendered