Ich schreibe mit Swift 4 und versuche, eine Funktion zu schreiben, die categoryId als Aktion senden, aber ich konnte nicht schreiben .Ich denke, meine Syntax ist falsch.Wenn ich Funktion ohne Parameter schreiben ist es kein Problem aber ich bekomme Fehler mit Parameterfunktionen. Können Sie mir sagen, wie man Selektor benutzt?Swift 4 mit Selektor mit mehreren Parametern
@objc func sendCategoryIdToPackageSelectionVC(categoryId : Int){
MarketVC.categoryId = categoryId
self.performSegue(withIdentifier: "sequeGoToPackageSelection", sender: nil)
}
func addTapFeatures(){
taplabel1 = UITapGestureRecognizer(target: self, action: #selector(self.sendCategoryIdToPackageSelectionVC(categoryId:2)))
taplabel1?.cancelsTouchesInView = false
self.labelFirst.addGestureRecognizer(taplabel1!)
}
Ich bekomme einen Fehler, der besagt, dass der Aktionsselektor sich nicht auf eine objc-Methode bezieht.
Check [Dieses Thema] (https://stackoverflow.com/q/43251708/6541007) oder [diese] (https://stackoverflow.com/a/24814958/6541007). Nichts Neues in Swift 4 über die Verwendung von '# selector'. – OOPer
Dies könnte helfen: https://stackoverflow.com/questions/19703767/pass-parameter-to-uitapgesturerecognizer – ozgur
func sendCategoryIdToPackageSelectionVC (categoryId: Int) { self.performSegue (withIdentifier: "sequeGoToPackageSelection", Absender: null) } @objc func Callmethod() { sendCategoryIdToPackageSelectionVC (categoryId: 2) } func addTapFeatures() { taplabel1 = UITapGestureRecognizer (Ziel: selbst, action: #selector (self.callMethod))? taplabel1 .cancelsTouchesInView = false } – Yongjoon