Swift - 如何将数据从 UITableViewCell 类传递到 UIViewController

Posted

技术标签:

【中文标题】Swift - 如何将数据从 UITableViewCell 类传递到 UIViewController【英文标题】:Swift - How to Pass Data From UITableViewCell Class to UIViewController 【发布时间】:2016-06-23 20:36:16 【问题描述】:

我想知道如何将数据从从 UITableViewCell 扩展的类传递到视图控制器?我在连接到 UITableViewCell 类的自定义单元上有一些插座,我想从我的 UIViewController 类访问这些插座。

Prepareforsegue 仅适用于在两个视图控制器之间传递数据,因此不适用于这种情况。我在堆栈(以及网络的各个角落)中找到的所有答案都在objective-c中,不再适用于swift。我将衷心感谢您的帮助。谢谢。

【问题讨论】:

您需要在UITableViewCell 中存储对UIViewController 的引用。被引用的UIViewController 通常称为delegate。设置好委托后,您可以调用方法或访问其上的属性。如果您进行互联网搜索,则有很多示例。 【参考方案1】:

您是否尝试从显示 UIViewController 的 UITableViewCell 访问它?如果是这样,您应该能够使用点运算符从 UITableViewCell 访问插座。

// Example In UIViewController
let customCell = UITableViewCell()  // This is whatever your custom cell is

let objectFromCell = customCell.outlet

【讨论】:

非常感谢您的回答!它有很大帮助。不过,我还有一个小问题。当我 wright: let customCell = TableViewCell() let Title = customCell.titleLabel.text - 出现一个错误,提示 xcode 在展开 Title 变量行上的可选时意外发现 nil。你知道为什么会这样吗(特别是因为 titleLabel.text 已经有一个值)。谢谢 您确定您的 customCell 已连接到情节提要中的同一个 UITableViewCell 吗?如果是,则必须是您在标题标签中没有文本。也许文本在 contentLabel 中?看一点代码会有所帮助。

以上是关于Swift - 如何将数据从 UITableViewCell 类传递到 UIViewController的主要内容,如果未能解决你的问题,请参考以下文章

使用Swift IOS获取推文

swift4中的UITextfield验证 - 动态单元格

Swift - 如何将数据从 UITableViewCell 类传递到 UIViewController

如何将 json 数据从 alamofire 转换为 swift 对象

Swift:如何将数据从 TableViewController 传递到 Details VC

如何使用通知将字符串数据从 swift 传递到目标 c 类