Удалить NSNotification Observer из UITableViewCell - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть UIVIewController и В этом я поместил UITableView
UITableView Содержит ячейку, в которой ячейка содержит UICollectionView
Каждая ячейка имеет свой собственный collectionView.
Теперь я хочу обновитьнекоторые строки представления коллекции различных разделов на основе заголовка таблицы.
Мой просмотр таблицы содержит заголовок раздела и кнопку внутри

Например: когда я нажимаю на заголовок TableView, я хочу обновить некоторые строки из коллекции collectionView его ячейки, чтобыздесь я использую NSNotification для строк callToUpdate в collectionView (все связанные данные collectionView помещаются в файл cell.m UITableView)

Но проблема в том, что при прокрутке ящика наблюдатель продолжает добавлятьи мой метод уведомления по почте вызывался несколько раз.

Я также написал код для удаления наблюдателя, но он не работал.

1 Ответ

0 голосов
/ 26 апреля 2018

NotificationCenter будет вести себя только так, например, если вы используете NotificationCenter.default.addObserver в viewWillAppear, вы должны удалить наблюдателя, используя NotificationCenter.default.removeObserver в viewWillDisAppear.Это описание использования Apple для NotificationCenter.

Поскольку cellForRowAtIndexPath будет вызываться несколько раз, observer также добавляется несколько раз.Лучший совет - использовать Delegate.при нажатии на заголовок необходимо вызвать метод делегата для выполнения желаемого действия.

...