如何在 Swift 中将值从自定义单元格设置/传递到视图控制器

Posted

技术标签:

【中文标题】如何在 Swift 中将值从自定义单元格设置/传递到视图控制器【英文标题】:How to set/pass value from a custom cell to a viewcontroller in Swift 【发布时间】:2014-09-10 08:17:52 【问题描述】:

在我的程序中,视图控制器下的 UITableView 的自定义 UITableCell 中有一个 UISwitch。 我在视图控制器中创建了一个变量,并尝试记录所有 UISwitch.on 的数量。

如何通过 UISwitch Action 在视图控制器中设置值?

我在 UISwitch Action 中编写了这些代码。 count 是 ViewController 中的变量

        var rootViewController = self.window!.rootViewController as ViewController            
        rootViewController.count++
        println("count:\(rootViewController.count)")

它在我的示例程序中有效,但是当我在我的正式程序中编写时出现错误。 它总是显示“线程 1:EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0)”。

我还有其他方法可以记录 UISwitch.on 的数量吗??

如何从表格单元格设置/传递值到视图控制器??

【问题讨论】:

【参考方案1】:

使用委托你可以做到这些。

当开关为 ON 时调用视图控制器中存在的委托。

在委托方法中递增计数变量。

【讨论】:

但我的开关在 UITableViewCell 中。我不知道如何从 UITableViewCell 调用 viewcontroller 的委托。我在自定义表格单元格中放置了一个开关。该单元格属于一个表,并且该表在一个视图中。委托在视图控制器中实现。自定义单元格有自己的类。我不知道如何调用视图控制器的任何功能。 很简单,在自定义单元格中声明委托并在视图控制器中定义它。在每个单元格中分配 cell.delegate = self.如果切换状态更改调用委托函数表单自定义单元格来查看控制器

以上是关于如何在 Swift 中将值从自定义单元格设置/传递到视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

Swift - 从自定义单元格和单元格数据传递到另一个控制器

SWIFT:从自定义单元格中的 UIswitch 展开/折叠自定义单元格

从自定义单元格重新加载表格视图数据

将数据从自定义表格视图单元格传递到 UIView 控制器

Swift 如何从自定义 uicollectionviewcell 中获取数据?

单击时如何将按钮值从自定义小部件传递到 tkinter 中的主应用程序