Это мой код, объяснение ниже:Загрузите локальный файл, если нет подключения к Интернету; функция вызывает себя снова и снова
func webViewDidStartLoad(homewebview: UIWebView) {
if Reachability.isConnectedToNetwork() == true {
print("Internet connection: OK")
} else {
print("Internet connection: FAILED")
let path: String = NSBundle.mainBundle().pathForResource("file", ofType: "html")!
let url: NSURL = NSURL.fileURLWithPath(path)
let request: NSURLRequest = NSURLRequest(URL: url)
homewebview.loadRequest(request)
}
}
При нажатии на гиперссылку webViewDidStartLoad
будет вызвана.
При подключении к Интернету он печатает Internet connection: OK
.
Если нет подключения к интернету, он должен распечатать Internet connection: FAILED
и открыть file.html
.
Но при открытии локального файла он снова вызывает целую функцию, и снова и снова ... как бесконечный цикл.
Я хочу проверить подключение к Интернету, нажав (гипер) ссылку в WebView. Если нет подключения к Интернету, локальный файл должен загружаться в этом WebView, не вызывая функцию снова.
Как это исправить? У кого-нибудь есть идея?
Загрузка локального файла по-прежнему вызывает метод делегирования, поэтому вы видите, что у вас нет сетевого подключения при попытке загрузить локальный файл, а затем просто попробуйте загрузить его снова. – dan
Просто заметил это сам. Как я могу это исправить? –
Не следует ли добавлять новую розетку: '@IBOutlet var checkInternetConnection: UIWebView!', А затем 'checkInternetConnection.loadRequest (request)'? –