2
我用Swift 4编写并尝试编写一个函数,发送categoryId作为操作,但我无法写入。我认为我的语法是错误的。如果我写函数没有参数它不是一个问题但我得到参数函数的错误。你能说我如何使用选择器吗?Swift 4使用选择器与多个参数
@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!)
}
我得到一个错误,说动作选择器没有引用任何objc方法。
检查[该线程](https://stackoverflow.com/q/43251708/6541007)或[此](HTTPS:/ /stackoverflow.com/a/24814958/6541007)。 Swift 4没有提及'#selector'的用法。 – OOPer
这可能帮助:https://stackoverflow.com/questions/19703767/pass-parameter-to-uitapgesturerecognizer – ozgur
FUNC sendCategoryIdToPackageSelectionVC(的categoryId:智力){ self.performSegue(withIdentifier: “sequeGoToPackageSelection”,发件人:无) } @objc FUNC callMethod(){ sendCategoryIdToPackageSelectionVC(的categoryId:2) } FUNC addTapFeatures(){ taplabel1 = UITapGestureRecognizer(目标:自,动作:#selector(self.callMethod))? taplabel1 .cancelsTouchesInView =假 } – Yongjoon