在 TableView 中选择单元格时获取标签文本 (Swift)
Getting label text when Cell is Selected in TableView (Swift)
我有以下代码,我想打印所选单元格的文本(带有文本标签的自定义单元格)
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "DateCell", for: indexPath) as! DateCell
cell.dateLabel.text = objectsArray[indexPath.section].sectionObjects[indexPath.row]
cell.selectionStyle = .none
contentView.separatorStyle = .singleLine
contentView.allowsSelection = true
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if contentView.cellForRow(at: indexPath)?.accessoryType == UITableViewCell.AccessoryType.none{
contentView.cellForRow(at: indexPath)?.accessoryType = .checkmark
}
else{
contentView.cellForRow(at: indexPath)?.accessoryType = .checkmark
}
}
我已经尝试在 didSelect 行中添加以下代码,但我没有得到。
print ((contentView.cellForRow(at: indexPath)?.textLabel?.text)!)
关于如何执行此操作的任何想法?
从原始来源获取...
func tableView(_ tableView: UITableView,
didSelectRowAt indexPath: IndexPath) {
let str = objectsArray[indexPath.section].sectionObjects[indexPath.row]
print(str)
}
由于您是从数据源设置文本,当单元格被选中时,您可以检查数据源中的索引
if let text = objectsArray[indexPath.section].sectionObjects[indexPath.row]{
//Do Something
}
我有以下代码,我想打印所选单元格的文本(带有文本标签的自定义单元格)
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "DateCell", for: indexPath) as! DateCell
cell.dateLabel.text = objectsArray[indexPath.section].sectionObjects[indexPath.row]
cell.selectionStyle = .none
contentView.separatorStyle = .singleLine
contentView.allowsSelection = true
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if contentView.cellForRow(at: indexPath)?.accessoryType == UITableViewCell.AccessoryType.none{
contentView.cellForRow(at: indexPath)?.accessoryType = .checkmark
}
else{
contentView.cellForRow(at: indexPath)?.accessoryType = .checkmark
}
}
我已经尝试在 didSelect 行中添加以下代码,但我没有得到。
print ((contentView.cellForRow(at: indexPath)?.textLabel?.text)!)
关于如何执行此操作的任何想法?
从原始来源获取...
func tableView(_ tableView: UITableView,
didSelectRowAt indexPath: IndexPath) {
let str = objectsArray[indexPath.section].sectionObjects[indexPath.row]
print(str)
}
由于您是从数据源设置文本,当单元格被选中时,您可以检查数据源中的索引
if let text = objectsArray[indexPath.section].sectionObjects[indexPath.row]{
//Do Something
}