Main, SubのViewControllerが2つあり、MainにおいてWebView(UIWebView)を利用しています。
やりたいこととしては、Sub側のボタンを押したら、MainのWebViewがリロードされるようにしたいです。
Swift
1class Main: UIWebViewController, UIWebViewDelegate { 2 @IBOutlet weak var webView: UIWebView! 3 4 override func viewDidLoad() { 5 super.viewDidLoad() 6 self.webView.delegate = self 7 } 8: 9: 10 func reloadPage() { 11 self.webView.reload() 12 } 13: 14: 15}
swift
1class Sub: UIWebViewController { 2: 3: 4 @IBAction func reload(_ sender: Any) { 5 // ここでMainのreloadPage()を呼びたい 6 }
Sub側で、Mainをインスタンス化してしまうと、reloadPage()でwebViewがnilとなってしまい実行時にエラーとなってしまいます。
reloadPage()をstatic化すると、今度はreloadPage()でself.webView.reload()が呼べません。
まだSwiftに慣れておらず、基礎的な理解が足りていないことは重々承知しておりますが、よい方法がございましたらご教示いただければ幸いです。
回答2件
あなたの回答
tips
プレビュー