Avatar
Kishikawa Katsumi 9/18/2022 3:36 PM
WKWebViewにこういうシグネチャのメソッドがあって、 func evaluateJavaScript( _ javaScript: String, in frame: WKFrameInfo? = nil, in contentWorld: WKContentWorld, completionHandler: ((Result<Any, Error>) -> Void)? = nil ) こんなふうに使うんだけど webView.evaluateJavaScript("document.body.innerHTML", in: nil, in: WKContentWorld.defaultClient) 2番目と3番目の引数のラベルがどちらも in で、2番目のラベルはデフォルト引数が設定されているので省略可能なのだけど、 webView.evaluateJavaScript("document.body.innerHTML", in: WKContentWorld.defaultClient) こういうふうに省略して書くと Extra argument 'in' in call とか、 completionHandler を付けても Cannot convert value of type 'WKContentWorld' to expected argument type 'WKFrameInfo?' ってコンパイルエラーになるんだけど、これは引数ラベルを同じにしてしまったことが問題なのかしら?