2
Swift 4で記述し、actionとして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(区分:INT){ self.performSegue(withIdentifier: "sequeGoToPackageSelection"、送信者:ゼロ) } @objc FUNC callMethod(){ sendCategoryIdToPackageSelectionVC(区分:2) } FUNCのaddTapFeatures(){ taplabel1 = UITapGestureRecognizer(ターゲット:自己、アクション:#selector(self.callMethod))? taplabel1 .cancelsTouchesInView =偽 } – Yongjoon