2017-12-08 7 views
0

をWebViewのために、私はコードで私のWebViewにHTML文字列をロードしよう:SWIFT 4エラー:負荷HTML文字列

let htmlFile = Bundle.main.path(forResource: "code", ofType: "html") 
     let html = try! String(contentsOfFile: htmlFile!, encoding: String.Encoding.utf8) 
     self.weview.loadHTMLString(html, baseURL: nil) 

私はアプリを実行し、すべてが正常に動作しますが、私は、ウェブサイトのリンクを押すと、私はAppDelegateのエラーを受け取ります:Thread 1: EXC_BAD_ACCESS (code=1, address=0x10) 誰かが私にhtml文字列をロードしてやりとりできるswift 4のコードを教えてもらえますか?本当にいいですか?

答えて

0

これを試してみてください。

let link = "https://google.co.in" 
do { 
    let htmlStr = try String(contentsOf : URL(string:link)!) 
    let separateHtmlStr = htmlStr.components(separatedBy:"") // any html tag you want to interact with 

    let newURL = URL(string: link) 
    yourWebView.loadHTMLString(separateHtmlStr, baseURL: newURL) // in case if you have changed anything 

    }catch{ 
     print("Exception") 
    } 
} 
0

まず最初にチェックするために - あなたのhtml-のファイルとディレクトリがリストに含まれていることを確認するProject Settings -> Build Phases -> Copy Bundle Resourcesに行きます。

次に、ファイルを次のようにロードします。ファイルの内容を読み込む必要はありません。また

let path = Bundle.main.path(forResource: "code", ofType: "html")! 
let uri = URL(string: path)! 
let request = URLRequest(url: uri) 
webView.loadRequest(request) 

は、プロジェクトディレクトリから始まることを確認 forResource paramはhtmlファイルへの完全なパスが含まれて作る

関連する問題