我有一个功能:
func handleChange(isShown:Bool){
if isShown {
// do something A
}else{
// do something B
}
}
如果我希望UISlider使用 isShown 默认为 false 添加上述操作,我将调用方法{{1在另一个函数中使用 true 。 错误的代码如下:
handleChange(isShown:Bool)
我知道正确的代码需要:
slider.addTarget(self, action: #selector(handleValue(isShown:false)), for: .valueChanged)
我只是想知道如何在swift中将'isShown'设置为false?感谢您的回复。
答案 0 :(得分: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
}