स्विफ्ट के लिए नया। मैं नीचे दो स्निपेट है:चयनकर्ता बनाम एक्शन स्विफ्ट 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"]!)")
}
और अंत में
let x:UITapGestureRecognizer = UITapGestureRecognizer(target: self,
action: #selector(tapped))
self.addGestureRecognizer(x)
func tapped(){
print("tapped")
self.delegate!.theViewTapped()
}
ऐसा क्यों है कि notificationCenter
के लिए है? मुझे selector
पैरामीटर के लिए @objc
टैग प्रदान करना है, लेकिन UITapGestureRecognizer
कार्रवाई पैरामीटर के लिए नहीं?
Selector
और Action in
स्विफ्ट के बीच क्या अंतर है?
तुलना करें [मैं कैसे स्विफ्ट 4 में #selector() के साथ @objc अनुमान प्रतिवाद के साथ सौदा कर सकते हैं?] (Https://stackoverflow.com/q/44390378/2976878) - के रूप में Ooper कहते हैं, दोनों उदाहरण की आवश्यकता होती है 'objc' होने का लक्ष्य तरीका। – Hamish