我有一些从 json 收到的 html 代码。现在我必须将此 html 代码写入项目中的 html 文档,然后在 webView 中显示它。如何将 HTML 代码写入项目中的 html 文件。
在我的内容变量中,我有 HTML 代码。
func getArticles() {
//let id = "1018"
let url = "http://www.salemkz.kz/inc/API/getArticles.php?idArticle=170"
print(url)
URLSession.shared.dataTask(with: URL(string: url)!) { (data, response, error) in
if (error != nil) {
print(error!.localizedDescription)
}
else {
let jsons = try! JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [String: AnyObject]
if let results = jsons["result"] as? [[String: AnyObject]] {
//print("got Result", results)
for result in results {
let content = result["content"] as? String
print(content!)
}
}
}
}.resume()
}
我必须将此代码写入此 html 文件(名为“articles-1.html”):
如何做到这一点???
最佳答案
好吧,您可以手动生成此文档。这不是一个优雅的解决方案,但会起作用。试试这个:
@IBOutlet weak var webView: UIWebView!
var generatedHtml : String?
var receivedContent: String? = ""
func getArticles() {
//let id = "1018"
let url = "http://www.salemkz.kz/inc/API/getArticles.php?idArticle=170"
print(url)
URLSession.shared.dataTask(with: URL(string: url)!) { [weak self]
(data, response, error) in
if (error != nil) {
print(error!.localizedDescription)
}
else {
let jsons = try! JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [String: AnyObject]
if let results = jsons["result"] as? [[String: AnyObject]] {
//print("got Result", results)
for result in results {
let content = result["content"] as? String
if (content != nil) {
self?.receivedContent?.append(content!)
}
print(content!)
}
self?.generatedHtml = self?.generateString()
if ((self?.generatedHtml) != nil) {
self?.webView.loadHTMLString((self?.generatedHtml!)!, baseURL: nil)
}
}
}
}.resume()
}
func generateString() -> String? {
var resultString: String?
let firstString = "<DOCTYPE HTML> \r <html lang=\"en\" \r <head> \r <meta charset = \"utf-8\"> \r </head> \r <body>"
let endString = "</body> \r </html>";
resultString = firstString + self.receivedContent! + endString;
return resultString
}
这里的webView是一个 View ,你要在其中显示这个html。如果你想将html保存到文件中,你也可以这样做,只是稍微修改一下代码。 (使用String.writeToFile方法)
关于html - 在 Swift 中写入本地 html 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45026365/