[英]Remove NSNotification Observer from UITableViewCell
我有UIVIewController
並且在其中放置了UITableView
UITableView
包含單元格,其中單元格包含UICollectionView
每個單元都有自己的collectionView。
現在,我想基於tableview標頭更新不同部分的集合視圖的某些行。
我的表視圖中包含標題和按鈕部分
例如:當我單擊TableView標頭時,我想更新其單元格的collectionView的某些行,因此在這里,我將NSNotification
用於collectionView中的callToUpdate行(所有與collectionView相關的東西都放在UITableView
cell.m文件中)
但是問題在於,隨着單元格滾動,觀察者不斷添加,而我的發布通知方法稱為多次。
我也為移除觀察者編寫了代碼,但是沒有用。
NotificationCenter
會像這只,因為如果你使用的是例如NotificationCenter.default.addObserver
在viewWillAppear
您需要通過清除觀察者NotificationCenter.default.removeObserver
在viewWillDisAppear
。 這是Apple對NotificationCenter
的使用說明。
由於cellForRowAtIndexPath
將被多次調用,因此observer
也被多次添加。 更好的建議是使用Delegate
。 當點擊標題時,您必須調用委托方法來執行所需的操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.