Yeni ile Swift arasında. Aşağıda, iki parçacıkları vardır:Seçici vs Eylem Swift 4
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"]!)")
}
ve son olarak
let x:UITapGestureRecognizer = UITapGestureRecognizer(target: self,
action: #selector(tapped))
self.addGestureRecognizer(x)
func tapped(){
print("tapped")
self.delegate!.theViewTapped()
}
Neden böyle notificationCenter
içindir? selector
parametresi için @objc
etiketini sağladım ama UITapGestureRecognizer
eylem parametresi için değil mi?
Selector
ve Action in
Swift arasındaki fark nedir?
karşılaştırın [I Swift 4 #selector() ile @objc çıkarsama kaldırılmasından başa nasıl?] (Https://stackoverflow.com/q/44390378/2976878) - OOPer'in söylediği gibi, her iki örnekler gerektirir hedef yöntemi '@ objc' olacak. – Hamish