
タイトルの通り、IBActionメソッドをコードで呼び出す方法で私がやったことを紹介します。あまり深く調べてないので、完全なものではないかもしれません。「とりあえず私はこれで動いた」くらいの感覚です。
UI
大喜利アプリを作っていて、「制限時間30秒が過ぎたら強制的に次のお題にいきたい」と思いました。
次のお題に行くには、「次へボタン」を押せばいいです。
つまり、「制限時間が0秒になったら次へボタンが押された時と同じ処理がしたい」ということです。
- 「次へボタン」は23行目の「nextButton」でOutlet接続しています。
- 制限時間は30行目の変数countの数値が反映されます。
「次へボタン」は@IBAction func next(_ sender: Any)でも繋がっており、{}内にはいろいろな処理が入っています。これらの処理をコードで呼びたいです。
IBActionメソッドを呼び出すコード
308行目の「self.next()nextButton as Any」これでIBActionメソッドを呼び出せます。
1 |
self.呼びたい@IBActionのメソッド名 (IBOutlet接続した変数名) |
これでとりあえずは呼べました。
「as Any」を付けたのは、出た警告の[fix]に従ったためです。なくても動きました。