Я пытаюсь вызвать loadAddressURL() в Webview из callbackHandler() в классе xWebAppJS. У меня нет проблем с вызовом callbackHandler() из ViewController, но противоположное не выполняется.Swift: функция вызова из другого класса, чтобы появиться в том же webview
Я в основном пытаюсь перезагрузить страницу или любую другую страницу в Webview из другого класса.
Заранее благодарен! Извините, если вопрос новичков.
class ViewController: UIViewController, UIWebViewDelegate{
//... viewDidLoad()
//... viewDidAppear()
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
let scheme = String(request.URL!)
NSLog(scheme)
//checks string if contains sequence
if scheme.containsString("ios:JS.") {
xWebAppJS.callbackHandler(scheme)
return false
}
NSLog("Link was not tapped")
return true
}
func loadAddressURL(URL: String) {
let requestURL = NSURL(string: URL)
let request = NSURLRequest(URL: requestURL!)
Webview.loadRequest(request)
}
Это другой класс, который содержит CallbackHandler
class xWebAppJS: ViewController{
class func callbackHandler(oScheme: String) {
// I want to call the loadAddressURL() out of this function
}
}
спасибо за вход. Это тип ответа, который я искал, и я не получаю никаких ошибок при вводе этого, но я получаю крах во время выполнения для «фатальной ошибки: неожиданно найдено nil, разворачивающей необязательное значение». Любая подсказка относительно того, что я буду разворачивать и как? – DG7
Я предполагаю, что переменная URL в webView является необязательным значением. Таким образом, чтобы добавить к нему защитный штырь, вы можете сделать так, чтобы охранник допустил следующее: «guard let URL = NSURL (строка:« https://www.yourWebsite.com ») else { print (« URL не найден ») return} ' – mn1
Я уверен, что класс был вызван, когда я использовал ваш ответ, у меня есть целый отдельный набор проблем, потому что то, что вы предложили, также вызывает ошибку. Для этого, хотя я дам ему правильный ответ. Возможно, я задаю неправильный вопрос. спасибо – DG7