arrays - 如何使用 TableView 获取数组中所选值的 Int?

标签 arrays swift uitableview

我有一个 TableView ,当我选择一个项目时,我会进入一个可以编辑该对象的屏幕,然后它将将该项目带回到数组所在的 ViewController 中。我似乎无法获取数组中所选项目的索引。我想象索引存在于这个函数中,因为我调用 segue,然后发送对象进行编辑。

功能:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    self.performSegue(withIdentifier: "goToEditArea", sender: self)
}

这是我获取要发送的数组的地方。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    let vc = segue.destination as! addArea
    if let selectedIndexPath = areaTableView.indexPathForSelectedRow {
        // Send over the area to update
        vc.area = areaArray[selectedIndexPath.row]
    }
}

基本上我只需要对象的整数值,这样我就可以保存在正确的插槽中。

最佳答案

在您的 tableView(_:didSelectRowAt:) 中,将 indexPath.row 传递给 performSegue(withIdentifier:sender:):

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    self.performSegue(withIdentifier: "goToEditArea", sender: indexPath.row)
}

然后,您可以稍后在 prepare(for:sender:) 中获取该值:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    let vc = segue.destination as! addArea
    if let row = sender as? Int {
        vc.area = areaArray[row]
    }
}

关于arrays - 如何使用 TableView 获取数组中所选值的 Int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55252175/

相关文章:

C - 合并排序的合并部分

arrays - Shell 脚本形成动态数组并触发基于它的进程

ios - 嵌入在 UITableViewCell 中的动态、自定义布局 UICollectionView

Swift:如何在动态 UITableView 的自定义单元格中获取 slider 的值?

c++ - 在 C++ 中通过引用传递未知大小的数组

java - 根据数组列表的值对数组的内容进行排序

ios - socket 检测不工作时要检查什么?

ios - UITableView InfiniteScrolling 无需在 Swift 中重新加载 TableView

ios - Swift - 如何通过方法调用传递类型?

ios - 自定义单元格中的 UITextField 文本在滚动 UITableView 时发生变化