私は機能を持っています:
func handleChange(isShown:Bool){
if isShown {
// do something A
}else{
// do something B
}
}
UISliderに上記のアクションを追加してisShownをデフォルトでfalseに設定したい場合は、別の関数handleChange(isShown:Bool)
でtrueを使用してメソッドを呼び出します。次のような間違ったコード:
slider.addTarget(self, action: #selector(handleValue(isShown:false)), for: .valueChanged)
そして、私は正しいコードが必要であることを知っています:
slider.addTarget(self, action: #selector(handleValue(isShown:)), for: .valueChanged)
'isShown'をfalseにすばやく設定する方法を知りたいだけですか?返信していただければ幸いです。
1つの解決策は、関数とは別のヘルパー関数を使用することですselector
。セレクター関数は、必要な数のパラメーターを持つことができるヘルパー関数を呼び出すことができます。
ターゲットの追加:
slider.addTarget(self, action: #selector(handleChange(_ sender: UISlider)), for: .valueChanged)
対象機能:
func handleChange(sender: UISlider) {
// logic based on the action or slider
doSomething(isShown: true)
}
ヘルパー関数:
func doSomething(isShown: Bool) {
// make your changes using the parameters here
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加