我想在使用UITableViewCells填充TableView时将信息(字符串)附加到每个UITableViewCell。我不希望它可见 - 我只需要在选择行/单元格时访问此字符串。这样做的最佳方式是什么?
答案 0 :(得分:2)
您最好的选择可能是继承UITableViewCell
并添加字符串属性。然后可以将其指定为常量,或者在cellForRowAtIndexPath:
中设置单元格。
class CustomCell: UITableViewCell {
var customString = "Default"
}
--------
func cellForRow(atIndexPath indexPath: IndexPath) -> UITableViewCell {
guard let cell: CustomCell = tableView.dequeueReusableCell(withReuseIdentifier: "identifier", indexPath: indexPath) as? CustomCell else {
return UITableViewCell()
}
cell.customString = "String"
return cell
}
func didSelectRow(atIndexPath indexPath: IndexPath) {
guard let cell: CustomCell = tableView.cellForRow(atIndexPath: indexPath) as? CustomCell else {
return
}
let stringFromCell = cell.customString
}
以上内容尚未编译,因此可能无法逐字逐句,但您可以获得原则。
答案 1 :(得分:0)
selected
添加到模型中。 cellForRow
中显示/隐藏字符串,具体取决于selected
的状态。 didSelectRow
切换selected
并重新加载行。