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 - 如何将数据从 UITableViewCell 类传递到 UIViewController
如何将 json 数据从 alamofire 转换为 swift 对象