微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

点击 tableview 项时获取数据

如何解决点击 tableview 项时获取数据

我有一个 TableView,里面还有另一个 TableView,其中每个单元格都包含一个开关。

当我点击那个开关时,我想将该单元格的数据发送到我的视图控制器。我怎样才能做到这一点?

这是我的方法

我创建了一个协议,从中我将点击的位置从内部 TableView 发送到外部 TableView,但我无法获得完整的对象,我不知道如何进一步进行。

点击了内部 TableView 单元格切换:

@IBAction func switchClicked(_ sender: UISwitch) {
//position clicked
   print("inside cell clicked>>\(sender.tag)")
    cellDelegate?.tableViewCellClicked(position: sender.tag,type: 
 "SwitchClicked")
}

外部 TableView 类中的方法调用

func tableViewCellClicked(position: Int,type: Any) {
        print("position\(position)")
    }

解决方法

你可以为你的 switch 函数传递一个闭包,在单元格内有一个

var switchAction: () -> Void? 

并在单元格切换函数内部调用switchAction?(),现在在设置单元格时设置一个switchAction例如

func foo() { } 
Cell.switchAction = foo

现在当你点击 switch action foo 函数时,你可以通过它传递你想要的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。