Новое для Swift. У меня есть два фрагмента ниже:
NotificationCenter.default.addObserver(self,
selector:#selector(ViewController.notificationReceived),
name: Notification.Name(rawValue: name), object: nil)
@objc func notificationReceived(notification:Notification){
let x = notification.userInfo!
print("\(x["name"]!)")
}
и, наконец,
let x:UITapGestureRecognizer = UITapGestureRecognizer(target: self,
action: #selector(tapped))
self.addGestureRecognizer(x)
func tapped(){
print("tapped")
self.delegate!.theViewTapped()
}
Почему это для notificationCenter
? Я должен предоставить тег @objc
для параметра selector
, но не для параметра действия UITapGestureRecognizer
?
В чем же разница между selector
и Action in
Swift?