如何在Swift2 UITableViewController中与UITableViewCell中的其他单元格交谈?

时间:2015-10-16 16:14:28

标签: uitableview swift2

是否可以 - 以及如何 - 从UITableView内的另一个单元内与任何其他可见的UITableViewCell对话?

我有两种细胞,比如蓝色和红色细胞。列表视图中两种单元格的分布是随机的。我需要解决的问题是:我想让所有可见的红细胞进行通信。 日Thnx!

2 个答案:

答案 0 :(得分:1)

在不传递指针,定义协议和委托的情况下进行通信的最简单方法始终是 NSNotification

您可以将NSNotification视为一种"交换机"它允许您在应用中传递自定义消息,而无需担心"连接"所有点。

您使用postNotification发布通知, 您必须在要处理通知的对象中设置观察者及其目标方法。

您可以将不同的单元格设置为不同的UITableViewCell派生类,并在它们之间发布/接收通知。

请记住: - 在它们包含的对象被取消分配之前删除观察者(例如,在viewControllers的viewWillDisappear中等)。 - 不要两次添加你的观察员。

答案 1 :(得分:0)

在某些情况下,使用简单的

就足够了
let selectedCell = tableView.cellForRowAtIndexPath(indexPath)

解决问题!