@IBAction
是一个内置的属性,用于激发将根据用户的交互执行某些任务并且不能返回值/对象的方法。你可以做的是触发其他动作,或初始化动作方法中的其他全局/局部变量。
错误 - Methods declared @IBAction must return 'Void' (not'Int')
只是意味着IBAction
方法不能返回任何内容,并且必须返回void
又没有。
基于使用步进的价值为UIButton
这是你可以做 -
在类级别的视图控制器声明一个变量
var stepperValue: Int = 0 {
didSet{
// use stepperValue with your UIButton as you want
}
}
然后是@IBAction
您的评论 -
@IBAction func stepper(_ sender: UIStepper){
stepperValue = Int(sender.value)
}
每次,stepperValue
被设定在@IBAction
方法中的代码块insid e didSet
观察员将会触发并且stepperValue
的当前值可以在didSet
观察者代码块内进行访问,以用于您想要的任何逻辑。或者,您可以简单地将整个didSet
观察程序块代码放入IBAction
方法stepper
的内部。
或者,您可以编写另一种方法func modifyMyButton(_ stepperval: Int)
将您的逻辑放在那里,并从IBAction
方法中调用此方法。
没有理由这样做,因为您不直接调用步进器,系统正在为您调用它。那个回报值应该在哪里结束? – Connor
@IBAction这些是事件。他们不应该返回任何结果 –
在类级别为View控制器类使用'var',比如'var stepperValue:Number?',然后在'@ IBAction'方法内使用该变量'stepperValue'。 'IBAction's不能返回值。 – Annjawn