UITableView 在填充 JSON 数据时显示虚拟数据
UITableView shows Dummy data when populated with JSON data
我正在尝试使用自定义单元格在 UITableView 中显示 JSON 数据,JSON 数据已成功加载到 table 视图中。但是,当我第一次 运行 我的应用程序时, table 视图中的前两行是 IB 中的虚拟单元格,如下所示:
我的自定义单元格如下所示:
最主要的是,每当我向上滑动 table 视图时,名为 (Workout) 的两个虚拟单元格就会消失,table 视图会变成这样,
我该如何解决这个问题?
我的代码如下所示:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return dataEvent.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableViewCalender.dequeueReusableCell(withIdentifier: "EventCustomCell", for: indexPath) as! ScheduleTableViewCell
let totalData = dataEvent[indexPath.row].event_start_date?.components(separatedBy: " ")
let finalStartDate = totalData![0]
let start2018 = finalStartDate.components(separatedBy: "-")
let finalll2018 = start2018[0]
let finall03 = start2018[1]
let finallyIs = "\(finalll2018)-\(finall03)"
if finallyIs == finalCompare{
let finalDate = totalData![1]
cell.startTimeLabel.text = finalDate
cell.titleLabel.text = dataEvent[indexPath.row].event_title
let endData = dataEvent[indexPath.row].event_end_date?.components(separatedBy: " ")
let finalEndDate = endData![1]
cell.endTimeLabel.text = finalEndDate
}
return cell
}
细胞被重复使用。
如果 finallyIs != finalCompare
标签未填充,并且如果有以前使用的值,则显示该值。您需要添加一个 else
子句来为每个标签分配一个默认值。
我正在尝试使用自定义单元格在 UITableView 中显示 JSON 数据,JSON 数据已成功加载到 table 视图中。但是,当我第一次 运行 我的应用程序时, table 视图中的前两行是 IB 中的虚拟单元格,如下所示:
我的自定义单元格如下所示:
最主要的是,每当我向上滑动 table 视图时,名为 (Workout) 的两个虚拟单元格就会消失,table 视图会变成这样,
我该如何解决这个问题?
我的代码如下所示:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return dataEvent.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableViewCalender.dequeueReusableCell(withIdentifier: "EventCustomCell", for: indexPath) as! ScheduleTableViewCell
let totalData = dataEvent[indexPath.row].event_start_date?.components(separatedBy: " ")
let finalStartDate = totalData![0]
let start2018 = finalStartDate.components(separatedBy: "-")
let finalll2018 = start2018[0]
let finall03 = start2018[1]
let finallyIs = "\(finalll2018)-\(finall03)"
if finallyIs == finalCompare{
let finalDate = totalData![1]
cell.startTimeLabel.text = finalDate
cell.titleLabel.text = dataEvent[indexPath.row].event_title
let endData = dataEvent[indexPath.row].event_end_date?.components(separatedBy: " ")
let finalEndDate = endData![1]
cell.endTimeLabel.text = finalEndDate
}
return cell
}
细胞被重复使用。
如果 finallyIs != finalCompare
标签未填充,并且如果有以前使用的值,则显示该值。您需要添加一个 else
子句来为每个标签分配一个默认值。