Обычно код addObserver
и Selector method tag with @Objc
кодируются в одном и том же экземпляре (экземплярный класс).
Можно передать Selector
из другого экземпляра в addObserver
?
Причина для этого заключается в том, что Selector
в большинстве случаев ведет себя как обратный вызов.Некоторые из методов обратного вызова обычно используются и могут быть хорошо закодированы в класс CommonCallBack
, пример использования может быть таким:
class SomeViewController{
override func viewDidLoad() {
...
let common = CommonCallback()
NotificationCenter.default.addObserver(
self,
selector: #selector(common.methodA),
name: "notificationName",
object: nil
)
}
}
class CommonCallback{
@Objc func methodA() {
// doing A
}
}
Проблема в том, что я продолжаю получать unrecognized selector sent to instance