我有以下结构,其中包含来自已解析JSON的数据。
Cat
我需要在带有' callDate'的UITableView中显示这些数据。作为节标题。所以我在这个字典中对结构进行了分组:
struct callRailData {
var callDate: String
var userDetails = callData()
}
struct callData{
var callerName: String?
var callerNumber: String?
var callerCityName: String?
var callerCountryName: String?
var callerStateName: String?
var callAnsweredState: Bool?
var callDirection: String?
var callDuration: String?
var callRecordingURL: String?
var callRecordingPlayer: String?
var callSource: String?
var callCompanyName: String?
}
我不知道如何在tableview中显示这些数据。如何从'部分'中获取numberOfSections和numberOfRowsInSection。 请帮助我成为Swift和iOS开发的初学者。
答案 0 :(得分:0)
通常,我们使用array作为tableview的数据源。提供numberOfRows =数组计数和" cellForRow"数组中的数据源对象。
答案 1 :(得分:0)
我认为你不需要这样做分组.. 这就是希望它会起作用。
override func numberOfSections(in tableView: UITableView) -> Int {
return user.count
}
它会根据您的用户数量制作部分。 现在每个部分都有一行显示数据。
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "your cell", for: indexPath) as! Your Cell class
cell.callerNameLabel.text = user[indexpath.section].userdetails.callerName
return cell
}
此func将设置您的第二个标题标题
override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return user[section].callDate
}