@IBAction
は、ユーザーの操作に基づいて特定のタスクを実行し、値/オブジェクトを返せないメソッドを起動するために使用されるinbuilt属性です。あなたができることは、他のアクションを引き起こしたり、アクションメソッド内の他のグローバル/ローカル変数を初期化することです。
エラー - Methods declared @IBAction must return 'Void' (not'Int')
は、単にIBAction
メソッドが何も返すことができず、void
という別名を返す必要があることを意味します。これはあなたがビューコントローラのクラスレベルで
をDO-ことができるものである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
は、コードブロックinsid @IBAction
メソッド内に設定されていますdidSet
オブザーバが起動し、stepperValue
の現在の値は、オブザーバコードブロックdidSet
内でアクセスして、必要なロジックで使用することができます。
または、didSet
オブザーバーブロックコード全体をIBAction
メソッドstepper
の内部に入れることもできます。
または、func modifyMyButton(_ stepperval: Int)
ロジックをここに書き込んで、IBAction
メソッドからこのメソッドを呼び出すことができます。
ステッパーを直接電話していないときにこれを行う理由はありません。システムがそれを呼び出しています。その戻り値はどこで終わるはずですか? – Connor
@IBActionこれらはイベントです。彼らは結果を返さないはずです –
'var stepperValue:Number?'のようなViewコントローラクラスのクラスレベルで 'var'を使って、' @ IBAction'メソッドの中でその変数 'stepperValue'を使用してください。 'IBAction'は値を返すことができません。 – Annjawn