以下の様にクラスhogeからVCのメソッドtest()を呼び出すにはどうすればいいでしょうか?
swift
1class hoge: UIView{ 2 3/............. 4 5 6@IBAction func didTapButton() { 7 8 9 //ここで呼び出したい! 10 11 } 12 13/........... 14 15}
swift
1class MainpageViewController: UIViewController { 2 3 4 5func test(){ 6 7//Do something 8 9} 10 11 12override func viewDidLoad() { 13 super.viewDidLoad() 14 15 } 16 17}
ーーーーーー追記ーーーーーーー
現在MainpageViewControllerにあるボタンがタップされるとContainerViewがポップアップで出てきて、そのviewにあるhoge上で宣言されているテキストフィールドに入力されるテキストを引数にtestを呼び出したいといった流れです。test()はmainpageにコンポーネントを表示させるメソッドです。
また、現在delegateを使った方法を試していますが、hogeView.delegate = selfで自分自身を処理を任せる側のクラスのdelegateに設定する際にUnexpectedly found nil while unwrapping an Optional valueというエラーが出ますこれはviewDidLoad() のなかに書いてありますが、viewDidLoad() が実行される際にはhogeViewはnillだからエラーが出ているという事だと思うのですが、これはどうすれば良いのでしょうか?
具体的には、こちらのプログラム、
https://github.com/shin8484/PopupWindow
のDemoのRegisterPopupViewのボタンを押した時にVCにあるメソッドを実行したいといった流れです!
回答3件
あなたの回答
tips
プレビュー