私は、通知の投稿をオブザーバに受信させるのに何時間も努力していますが、試行するたびに失敗しています。私は、ビューアーを自分のルートビューコントローラーに入れて、タブコントローラーを組み込み、タブコントローラーの1つにポストを送信してもらうようにしましたが、役に立たないようにしました。私の人生のために、これを理解することはできませんし、通知がとても面白いかもしれないので、私は本当に好きです!ここでNotificationCenterのオブザーバは投稿を受信していません
は私のコードです:
のViewController
let myNotification = Notification.Name(rawValue:"categoryChange")
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override func viewDidLoad() {
super.viewDidLoad()
let nc = NotificationCenter.default
nc.addObserver(forName:myNotification, object:"test", queue:nil, using:test)
}
func test(notification:Notification) -> Void {
print("Yo")
}
そして、ここで私のDashboardControllerです:
override func viewDidLoad() {
super.viewDidLoad()
let myNotification = Notification.Name(rawValue:"categoryChange")
let nc = NotificationCenter.default
nc.post(name:myNotification,
object: nil,
userInfo:["message":"Hello there!"])
}
私はINITにオブザーバーを入れて試してみました
、viewDidLoad
、およびviewDidAppear
投稿はにあります、私はその逆を行った。これまでに何も働いていなかったので、理由を理解できません。
事前にお手伝いいただける方に感謝します。
Swift 3.0でXcode 8をテストしていますか? –
あなたがオブザーバーを追加する前にあなたが通知をポストしているかどうかをチェックするだけですか? –
@RamkrishnaSharmaええ、私はSwift 3.0でXcode 8でテストしています。 – Nick