如何使用UITableViewCell存储隐藏的字符串?

时间:2017-03-13 00:57:04

标签: xcode swift3

我想在使用UITableViewCells填充TableView时将信息(字符串)附加到每个UITableViewCell。我不希望它可见 - 我只需要在选择行/单元格时访问此字符串。这样做的最佳方式是什么?

2 个答案:

答案 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并重新加载行。