Swiftで以下のようにViewからイベントを親に通知したい時にクロージャのハンドラを作ろと思うのですが、VC側でこれをメソッドで作っておきたいのですがうまく行きません。
以下のようなエラーが出てしまいます。
エラー
Cannot assign value of type '()' to type '() -> Void'
コード
class hogeView: UIView var tapEbentHandler:(()->Void)? func hogeTap(){ //Viewのタップを検知した時に送る tapEbentHandler?() } }
class HogeVC: UIViewController { func viewDidLoad() { これができない hogeView.tapEventHandler = handleEvent() こっちだったら可能だが処理が長くなると読みづらくなるので避けたい hogeView.tapEventHandler = { //ホゲホゲ } } func handleEvent() -> Void { //ここのメソッドの中に処理を書きたい } }
メソッドで書きたい時どうしたら良いのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/13 05:44
2021/11/13 06:09
2021/11/13 06:45
2021/11/13 08:34