如何使用 Swift 从 tableview 单元格中获取数据而不显示在标签上?
Posted
技术标签:
【中文标题】如何使用 Swift 从 tableview 单元格中获取数据而不显示在标签上?【英文标题】:How to get data from tableview cell without showing on label using Swift? 【发布时间】:2019-02-13 18:32:59 【问题描述】:我的场景,我正在尝试创建tableview
单元格单击以获取label
数据,我还有更多values
,但我不想在label
中显示。现在,我怎样才能将assign
unshowed
数据转换为cell
,因为我在sending
单元格didselect
之后将值转换为另一个view controller
。
例如:
我有两个数组值
let alpha: [String] = ["A", "B", "C", "D", "E"]
let numeric: [String] = ["1", "2", "3", "4", "5"]
在这里,我只将 alpha 值播种到 tableview 单元格中
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
let cell:MyCustomCell = self.tableView.dequeueReusableCell(withIdentifier: cellReuseIdentifier) as! MyCustomCell
cell.textlabel.text = alpha[indexPath.row]
return cell
现在,我要获取 tableview 单元格选择的值,在这里,我可以获取 cell.textlabel.text 值,但我还需要获取数值而不分配任何标签。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
let currentCell = tableView.cellForRow(at: indexPath)! as? MyCustomCell
print(currentCell?.textlabel?.text ?? "unknown alpha")
// Here I need to get numeric values also
【问题讨论】:
didSelectRowAt
中的参数与cellForRowAt
中的参数相同:indexPath
... let numbericValue = numeric[indexPath.row]
“坚持”是什么意思?您始终可以使用 numeric[indexPath.row]
从您的 dataSource 数组中获取它,就像 Robert 写的那样
【参考方案1】:
我们可以使用下面的代码得到未显示的单元格索引数组值
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
let currentCell = tableView.cellForRow(at: indexPath)! as? MyCustomCell
print(currentCell?.myCellLabel?.text ?? "unknown")
let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let newViewController = storyBoard.instantiateViewController(withIdentifier: "detailview") as! DetailViewController
newViewController.name = currentCell?.myCellLabel?.text ?? "unknown"
newViewController.country = self.numeric[indexPath.row]
self.present(newViewController, animated: true, completion: nil)
【讨论】:
以上是关于如何使用 Swift 从 tableview 单元格中获取数据而不显示在标签上?的主要内容,如果未能解决你的问题,请参考以下文章
Swift iOS - 如何在按下单元格之前从 TableView 的所有 IndexPath 中获取数据
如何使用 Swift 保存从 tableView 上的 textField 收到的用户答案
无法从swift ios中的一段tableview中删除单元格