2017-07-11 37 views
0

私はjsonから受け取ったhtmlコードをいくつか持っています。今私はこのHTMLコードを自分のプロジェクトにあるhtmlドキュメントに書かなければならず、webViewに表示するよりもむしろです。私のプロジェクトのHTMLファイルにHTMLコードを書き込むにはどうすればいいですか?Swiftのローカル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ファイル(名前の "記事-1.html")にこのコードを記述する必要があります。これを行うにはどのように enter image description here

???

+2

コードを画像ではなくテキストとして送信してください。 – rmaddy

+0

既に完了しました! @マディ –

+0

あなたはhtmlファイルを書きたいのですか、またはwebviewに表示したいですか? –

答えて

3

このドキュメントを手動で生成することができます。洗練されたソリューションではありませんが、機能します。試してみてください:

@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 
    } 

ここでは、このHTMLを表示するビューです。 htmlをファイルに保存したい場合は、これを行うこともできます。コードを少し変更するだけです。 (文字列を使用します。writeToFileメソッド)

関連する問題