@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