現在Sliderに対してaddTargetを設定してaddTargetを設定しています。
#selectorの部分では@objcメソッドを書けとあったのでobjcメソッドを作成してselectorに渡しました。
このようなエラーメッセージが出力されてしまいます。
error
1Argument of '#selector' does not refer to an '@objc' method, property, or initializer
エラーが出てしまっているのは#selectorの部分です。何が問題なのかわかりません。
初期化子が参照できないとあったので、引数を消したら行けるのかと思い試してみたのですが、エラーメッセージは変わりませんでした。
Swift
1 override func viewDidLoad() { 2 super.viewDidLoad() 3 4 let mSlider = UISlider(frame: CGRect(x: 0, y: 0, width: 300, height: 100)) 5 mSlider.layer.position = CGPoint(x: self.view.frame.midX, y: self.view.frame.height - 200) 6 mSlider.minimumValue = 0 7 mSlider.maximumValue = 1 8 9 mSlider.addTarget(self, action: #selector(changeBranch(mSlider)), for: UIControl.Event.valueChanged) 10 self.view.addSubview(mSlider) 11 } 12 13 @objc func changeBranch(_ sender: UISlider){ 14 print("change value") 15 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/08 17:00
2018/12/08 17:17 編集