未调用通知观察器选择器



我有这个观察器

override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(GetUserID(_:)), name: Notification.Name("UserID"), object: nil)
}

以及这个选择器功能

@objc func GetUserID(_ notification: Notification){
let User = notification.object as? String
self.UserID = User
}

我一直在UserID中得到nil,尽管我确信当我收到通知时,它不是nil,这让我相信选择器没有被称为

您可以通过以下方法获得观测器值

let selectedIndex:[String: Int] = ["selectedIndex": 1]
//selectedindex = 0
// post a notification
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "SelectedSegment"), object: nil, userInfo: selectedIndex)

NotificationCenter.default.addObserver(self, selector: #selector(self.changeSegmentControlIndex(notification:)), name: Notification.Name("SelectedSegment"), object: nil)
@objc func changeSegmentControlIndex(notification: Notification) {

if let selectedIndex = notification.userInfo?["selectedIndex"] as? Int {
// do something with your image
print(selectedIndex)
}
}

最新更新