我有UIVIewController
而且我放了UITableView
UITableView
包含单元格包含UICollectionView
的单元格
每个单元格都有自己的集合视图
现在,我想基于tableview标题更新不同部分的一些集合视图行
我的tableview包含
例如:当我点击TableView标题时,我想更新其单元格的collectionView的一些行,所以在这里我使用NSNotification
来调用collectionView中的callToUpdate行(所有collectionView相关内容放在cell.m文件中UITableView
)
但问题是,作为单元格滚动,观察者不断添加,我的帖子通知方法被多次调用。
我还编写了删除观察者的代码,但它没有用。
答案 0 :(得分:0)
NotificationCenter
的行为仅限于此,例如,如果您在NotificationCenter.default.addObserver
中使用viewWillAppear
,则必须使用NotificationCenter.default.removeObserver
中的viewWillDisAppear
删除观察者。这是Apple对NotificationCenter
的使用说明。
由于cellForRowAtIndexPath
将被多次调用,observer
也会多次添加。更好的建议是使用Delegate
。当点击标题时,你必须调用委托方法来执行所需的操作。