Есть ли способ узнать, есть ли объекты, прослушивающие путь по ключу для контроллера вида. Например, у меня в ViewControllerПриложение iOS падает, потому что наблюдатель KVO больше не наблюдает
[tabBarController addObserver:self
forKeyPath:@"selectedViewController"
options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld
context:&PrivateKVOContext
]; (edited)
И я хочу знать, если мой tabbarcontroller может знать, если мой ViewController слушает на этом ключевом пути
Причина заключается в том, потому что мои сбои приложений, потому что панель вкладок контроллер еще думает мой взгляд контроллер прослушивает этот ключевой путь, даже если мой контроллер зрения было высвобождены
И в методе dealloc моего ViewController, я поставил [tabBarController removeObserver:self forKeyPath:@"selectedViewController”];
удалить себя в качестве наблюдателя
Если наблюдатель не получает удален, попробуйте написать '[[NSNotificationCenter defaultCenter] removeObserver: observerObjectHere]' в 'viewWillDisappear ' – pkc456
Вид касательной, но почему контроллер просмотра в контроллере панели вкладок должен быть осторожным при выборе другой вкладки? Это звучит как плохой дизайн. – rmaddy
Почему вы не подклассифицируете tabBarController и не создаете протокол, с помощью которого вы сможете отправить сообщение делегатам, которые выбралиПрисосмотр управления. Это будет более четкое решение. –