【发布时间】:2019-11-07 10:53:15
【问题描述】:
我遇到了麻烦,因为我在 CollectionView 中有一个 TableView,而且我不知道一旦用户单击它 (didSelectItemAt) 后如何传递我的 CollectionViewCell 中的当前数据。
所以我想知道是否有一种方法可以观察变量内部发生变化的值。
例如。当用户单击单元格时,将使用该单元格中包含的当前数据更新一个变量,然后我在 ViewController 中收到更新,一旦观察到值更改,将调用一个函数来更新其中的一些值.
谢谢!
【问题讨论】:
-
对您的描述有点困惑,因为不确定您指的是哪种类型的单元格,但要从嵌入式
UITableViewCell传递信息,请使用由适当的简单协议支持的委托模式。您作为委托目标注入的内容将取决于您想要实现的目标。您可以使用CollectionViewCell、CollectionView,甚至可以返回ViewController。对于“CollectionViewCell”以外的任何内容,您可能需要将某种形式的唯一 ID 嵌入到您的TableViewCell中,这样您就可以确定委托调用的来源。 -
基本上我在 CollectionView 中有一个 TableView。由于单击 CollectionViewCell 后我无法调用“当前”来打开视图控制器,因此我希望使用一些观察者将一些数据传递回视图控制器。现在好点了吗?
-
你看过
UICollectionViewDelegate协议和collectionView(UICollectionView, didSelectItemAt: IndexPath)方法吗? -
是的,但事实是,作为 'collectionView(UICollectionView, didSelectItemAt: IndexPath)' 它没有在 ViewController 中调用,但在 TableViewCell 中我不能使用“present”打开一个新的 ViewController
-
还是不清楚是要响应tableViewCell还是collectionViewCell中的动作?
标签: swift observable rx-swift