通過上一篇文章我們已經分析過了數據,那么現在將要實現詳情頁面的信息展示。以下我們以Swift方式編碼。
創建工程
創建工程,命名iOS-html-part1,因為要訪問數據,在TARGETS->Info-Custom iOS Target Progerties 添加App Transport SecuritySettings,設置其屬性Allow Arbitray Loads 為Yes,如下圖,
創建工程.png
我們要實現webView與html的交互,所以我們要創建UIWebView,
創建webView.png
接下來,我們要請求數據,通過異步請求,
override func viewDidLoad() {
super.viewDidLoad()
// http://c.m.163.com/nc/article/BSB33M1000234KO7/full.html
// 1.設置url
let url = NSURL(string: "http://c.m.163.com/nc/article/BSB33M1000234KO7/full.html");
// 2.設置請求
let request = NSURLRequest(URL: url!);
// 3.開啟異步請求操作
let dataTask = NSURLSession.sharedSession().dataTaskWithRequest(request) { (data, response, error) in
if (error == nil){
// 轉為json數據,try? 解決throws異常, as!強制轉換
let jsonData = try? NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.AllowFragments) as! NSDictionary;
self.dealNewsDetail(jsonData!);
}
}
// 4.開啟請求
dataTask.resume();
}
// 處理拿到的數據并顯示
func dealNewsDetail(jsonData: NSDictionary) -> Void {
// 1.取出所有內容
let allData = jsonData["BSB33M1000234KO7"];
// 2.取出body中的內容
let bodyHtml = allData!["body"] as! String;
// 把對應的內容顯示daowebView中
webview.loadHTMLString(bodyHtml, baseURL: nil);
}
模擬器運行效果,如下圖,即完成
body信息顯示.png