मैं इस प्रकार मेरे विचार करने के लिए एक इशारा जोड़ने के लिए देख रहा हूँ बनाम:स्विफ्ट 4 ऐड इशारा: ओवरराइड @objc
override func viewDidLoad() {
super.viewDidLoad()
< blah blah blah >
// Add tap gesture
let tap = UITapGestureRecognizer(target: self, action: #selector(handleTap))
myView.addGestureRecognizer(tap)
}
हालांकि, स्विफ्ट 4 मेरी संकलक मुझे निम्न त्रुटि दे रहा है में:
Argument of '#selector' refers to instance method 'handleTap()' that is not exposed to Objective-C
सुझाव इस उद्देश्य विधि को उद्देश्य-सी को बेनकाब करने के लिए @objc को जोड़ने का सुझाव है।
इसे लागू करने के लिए अन्य विकल्प (केवल कोड के माध्यम से) touchesBegan()
फ़ंक्शन को ओवरराइड करना होगा और टैप को संभालने के लिए इसका उपयोग करना होगा।
मैं ओब्जे-सी लाने के बिना इसे 'स्विफ्ट' तरीके से करने की कोशिश कर रहा हूं। @objc का उपयोग किये बिना इस टैप इशारा को जोड़ने का शुद्ध स्विफ्ट तरीका है? या यह है कि इस टैप इशारा को जोड़ने का सामान्य और इच्छित तरीका है?
संभावित डुप्लिकेट [मैं स्विफ्ट 4 में # चयनकर्ता() के साथ @objc अनुमान को बहिष्कृत कैसे कर सकता हूं?] (Https://stackoverflow.com/questions/44390378/how-can-i-deal-with-objc -इंटरेंस-बहिष्करण-चयनकर्ता-इन-स्विफ्ट -4) – LinusGeffarth