質問: URLRequest(url:url!) webView.load(request) //ロードが開始された時 func webView(_ webview:WKWebView, didCommit: WKNavigation){ print("読み込み開始") indicator.startAnimating() } //ロードが完了した時 func webView(_webView: WKWebView, didFinish navigation: WKNavigation!){ print("ロード完了") indicator.stopAnimating() } //どこにつけるか } @IBAction func go(_ sender: Any) { } @IBAction func back(_ sender: Any) { webView.goBack() } } ```
回答: とりあえず > > //ロードが開始された時 > > func webView(_ webview:WKWebView, didCommit: WKNavigation){ > > > などのいくつかの関数がviewDidLoad()関数の中に書かれている気がしますが、これだと動かないと思いますので、 viewDidLoad()の外で実装してください。 > > このように理解しているのですが、合っていますでしょうか...? > > > たぶん理解は合っていると思います。 デリゲートはあくまで実装方法の名称のようなものであって、Swift的には「プロトコル」という機構を使って実現しています。 そして > > 必ず使用するメソッドはオーバーライド > > > プロトコルに書かれた関数を実装することを「オーバーライド」とは、たぶん呼ばないのではないかと思います。 (overrideキーワードも付けませんしね) ※自信ないです