从UITableViewCell中删除NSNotification Observer

时间:2018-04-26 10:12:47

标签: ios objective-c uitableview nsnotification

我有UIVIewController而且我放了UITableView UITableView包含单元格包含UICollectionView的单元格 每个单元格都有自己的集合视图 现在,我想基于tableview标题更新不同部分的一些集合视图行 我的tableview包含

中的标题和按钮部分

例如:当我点击TableView标题时,我想更新其单元格的collectionView的一些行,所以在这里我使用NSNotification来调用collectionView中的callToUpdate行(所有collectionView相关内容放在cell.m文件中UITableView

但问题是,作为单元格滚动,观察者不断添加,我的帖子通知方法被多次调用。

我还编写了删除观察者的代码,但它没有用。

1 个答案:

答案 0 :(得分:0)

NotificationCenter的行为仅限于此,例如,如果您在NotificationCenter.default.addObserver中使用viewWillAppear,则必须使用NotificationCenter.default.removeObserver中的viewWillDisAppear删除观察者。这是Apple对NotificationCenter的使用说明。

由于cellForRowAtIndexPath将被多次调用,observer也会多次添加。更好的建议是使用Delegate。当点击标题时,你必须调用委托方法来执行所需的操作。