私はobject
パラメータが、私はそれを正しく理解していれば、それは一種のフィルタとして機能しNotificationCenter.default.addObserver(observer:selector:name:object)
NotificationCenter addObserver(observer:selector:name:object) - オブジェクトとは何ですか?
にあるものを理解トラブルを抱えています。このオブジェクトから通知された通知のみが監視されます。しかし、私は実際にそれを使用する方法を把握することはできません。
私はその後、私の最初のViewControllerに私はそうのように登録し、私の第二のViewControllerに続いてglobalFoo.postNotification()
を呼び出すボタン押してクラスを作成し、
class FooClass {
func postNotification() {
NotificationCenter.default.post(name: NSNotification.Name("TestNotification"), object: self)
}
}
let globalFoo = FooClass()
それのグローバルインスタンスを作った:
をclass SecondViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(notificationReceived), name: NSNotification.Name("TestNotification"), object: globalFoo)
}
func notificationReceived() {
print("notification received")
}
}
object
(つまり、nil)を指定しないとうまく動作しないので、私はそれが何であるか誤解しています。
最後の編集をロールバックしました。あなたの質問を編集して答えを表示するのではなく、単に答えを受け入れるだけです。 – rmaddy