¿Cómo cargar el file html local en una variable de cadena en ios swift?

Quiero cargar mi file html local en una variable de cadena. No sé cómo hacerlo. por favor, ayúdame. Encontré el enlace a continuación, pero lo cargué de la URL en línea. El elemento Swift y UIWebView se ocultará

Copie el html en su directory de proyecto y use este código:

@IBOutlet weak var webView: UIWebView! override func viewDidLoad() { super.viewDidLoad() var htmlFile = NSBundle.mainBundle().pathForResource("MyHtmlFile", ofType: "html") var htmlString = try? String(contentsOfFile: htmlFile!, encoding: NSUTF8StringEncoding) webView.loadHTMLString(htmlString!, baseURL: nil) } 

En Swift 3:

  let htmlFile = Bundle.main.path(forResource("MyHtmlFile", ofType: "html") let htmlString = try? String(contentsOfFile: htmlFile!, encoding: String.Encoding.utf8) webView.loadHTMLString(htmlString!, baseURL: nil) 

Recomiendo usar el encadenamiento opcional en lugar de forzar el desenvolver htmlString como arriba.

Puede escribir un método de utilidad como este y get la cadena html y cargarlo en la vista web. Utilicé el enfoque de URL aquí

  private func getHTML() -> String { var html = "" if let htmlPathURL = Bundle.main.url(forResource: "test", withExtension: "html"){ do { html = try String(contentsOf: htmlPathURL, encoding: .utf8) } catch { print("Unable to get the file.") } } return html } 

Sintaxis Swift 3:

  guard let file = Bundle.main.path(forResource: "agreement", ofType: "html"), let html = try? String(contentsOfFile: file, encoding: String.Encoding.utf8) else { return } webView.loadHTMLString(html, baseURL: nil)