在我的情况下,我正在尝试将JSON数据加载到UITableview中。在这里,我使用Codable和Decodable方法从API获取JSON数据。现在,我没有任何ID来对我的列表进行排序,因为我使用的是无序字典。那么,如何实现呢?
注意:基于meeting_id需要对我的表格视图数据进行排序。
JSON示例
注意:基于meeting_id需要对我的表格视图数据进行排序。
JSON示例
{
"status": true,
"data": [
{
"meeting_id": "37",
"title": "abc",
"sort_key": "21:00",
},
{
"meeting_id": "41",
"title": "a1",
"sort_key": "03:00",
}
]
}
可编码结构
struct Events: Codable {
let status: Bool
let data: [Eventdata]
}
struct Eventdata: Codable {
let meetingID, title, sort_key: String
enum CodingKeys: String, CodingKey {
case meetingID = "meeting_id"
case title
case sortKey = "sort_key"
}
}
我的代码解码
var eventsData = [Eventdata]()
do {
let decoder = try JSONDecoder().decode(Events.self, from: data)
let status = decoder.status
if status == true {
self.eventsData = decoder.data
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
self.tableView.reloadData()
}
} else {
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
//self.Alert(Meesage: ServerValidation().servervalidation_msg)
}
}
} catch {
print(error)
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
//self.Alert(Meesage: ServerError().servererror_msg)
}
}
asyncAfter
? - vpoltavemeetingID
应为Int
类型。这样你就可以进行比较。 - vpoltave"37"
。 - Starsky