【发布时间】:2016-09-29 09:41:32
【问题描述】:
抱歉,我知道这是一个重复的问题,但我无法理解其他问题的答案。
我的自定义单元格在滚动时发生变化。我知道这是由于重用标识符,但我不知道如何修复它。任何帮助,将不胜感激。我也在使用 indexPath.row 来访问一个数组。
如何让我的表格视图在滚动时不更改值,即使我使用了重用标识符?
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell : TeamCell = tableView.dequeueReusableCell(withIdentifier: "TeamCell", for: indexPath) as! TeamCell
cell.trainer.image = UIImage(named: "t\(Player.User.Gold.trainers[(indexPath as NSIndexPath).row].imageID)")
if Player.User.Gold.trainers[(indexPath as NSIndexPath).row].p1.name != 0 {
cell.pokemon1.image = UIImage(named: "\(Player.User.Gold.trainers[(indexPath as NSIndexPath).row].p1.name)")
cell.pokemon1.isHidden = false
} else {
cell.pokemon1.isHidden = true
}
if Player.User.Gold.trainers[(indexPath as NSIndexPath).row].p2.name != 0 {
cell.pokemon2.image = UIImage(named: "\(Player.User.Gold.trainers[(indexPath as NSIndexPath).row].p2.name)")
cell.pokemon1.isHidden = false
} else {
cell.pokemon2.isHidden = true
}
if Player.User.Gold.trainers[(indexPath as NSIndexPath).row].p3.name != 0 {
cell.pokemon3.image = UIImage(named: "\(Player.User.Gold.trainers[(indexPath as NSIndexPath).row].p3.name)")
cell.pokemon1.isHidden = false
} else {
cell.pokemon3.isHidden = true
}
if Player.User.Gold.trainers[(indexPath as NSIndexPath).row].p4.name != 0 {
cell.pokemon4.image = UIImage(named: "\(Player.User.Gold.trainers[(indexPath as NSIndexPath).row].p4.name)")
cell.pokemon1.isHidden = false
} else {
cell.pokemon4.isHidden = true
}
if Player.User.Gold.trainers[(indexPath as NSIndexPath).row].p5.name != 0 {
cell.pokemon5.image = UIImage(named: "\(Player.User.Gold.trainers[(indexPath as NSIndexPath).row].p5.name)")
cell.pokemon1.isHidden = false
} else {
cell.pokemon5.isHidden = true
}
if Player.User.Gold.trainers[(indexPath as NSIndexPath).row].p6.name != 0 {
cell.pokemon6.image = UIImage(named: "\(Player.User.Gold.trainers[(indexPath as NSIndexPath).row].p6.name)")
cell.pokemon1.isHidden = false
} else {
cell.pokemon6.isHidden = true
}
return cell
}
(该函数只检查数组的值是否为0,如果不是则显示图像)
【问题讨论】:
-
为什么要在每个 if 中设置 pok1 为 hidden= flase?不应该是你设置图像的口袋妖怪吗?
-
我犯了一个新手错误,没有更改 if 语句中的正确值!哎呀
-
是的,修复了它!我脸红了,谢谢啊哈
-
太棒了,玩得开心编码...哦,还有一个建议,读取一次培训师数据并将其放入变量中,因此您可以仅在最佳条件下使用此变量,而无需每次都获取再来一次
标签: ios xcode uitableview swift3