观察从单元格到ViewController Swift的值变化

观察从单元格到ViewController Swift的值变化,swift,observable,rx-swift,Swift,Observable,Rx Swift,我遇到了麻烦,因为我在CollectionView中有一个TableView,我不知道在用户单击CollectionViewCell后如何传递CollectionViewCell中的当前数据(didSelectItemAt) 因此,我想知道是否有一种方法可以观察变量内部变化的值 比如说。当用户单击单元格时,将使用该单元格中包含的当前数据更新变量,然后我将在我的ViewController中接收更新,一旦观察到值更改,将调用函数更新其中的某些值 谢谢 我发现听到变化的最好方法是使用Notifica

我遇到了麻烦,因为我在CollectionView中有一个TableView,我不知道在用户单击CollectionViewCell后如何传递CollectionViewCell中的当前数据(didSelectItemAt)

因此,我想知道是否有一种方法可以观察变量内部变化的值

比如说。当用户单击单元格时,将使用该单元格中包含的当前数据更新变量,然后我将在我的ViewController中接收更新,一旦观察到值更改,将调用函数更新其中的某些值


谢谢

我发现听到变化的最好方法是使用NotificationCenter:

NotificationCenter.default.post(name: Notification.Name("aNotificationName"), object: nil)
然后从我的控制器:

NotificationCenter.default.addObserver(self, selector: #selector(handleNotificationFuncName, name: NSNotification.Name(rawValue: "aNotificationName"), object: nil)

对您的描述有点困惑,因为不确定您指的是哪种类型的单元格,但要从嵌入的
UITableViewCell
获取传递的信息,请使用由适当的简单协议支持的委托模式。作为代理目标注入的内容将取决于您想要实现的内容。您可以使用
CollectionViewCell
CollectionView
,甚至可以返回到
ViewController
。对于除“CollectionViewCell”之外的任何内容,您可能需要将某种形式的唯一ID嵌入到
TableViewCell
中,以便确定委托调用来自何处。基本上,我有一个包含CollectionView的TableView。由于我无法在单击CollectionViewCell后调用“present”来打开视图控制器,因此我希望使用一些观察者将一些数据传递回视图控制器。现在好一点了吗?您看过
UICollectionViewDelegate
协议和
collectionView(UICollectionView,didSelectItemAt:IndexPath)
方法了吗?是的,当然,但事实是作为“collectionView(UICollectionView,didSelectItemAt:IndexPath)”'在ViewController中未调用它,但在TableViewCell中,我无法使用“present”来打开新的ViewControllers,直到不清楚是否要响应TableViewCell或collectionViewCell中的操作?这远不是“最佳方式”。为此,请使用回调或委托。