2016-04-09 15 views
2

我正在关注一个教程,在我的应用程序中显示来自Web视图的内容。在swift 2.0中,当我运行模拟器时,模拟器屏幕上没有响应。Web视图不能显示Swift 2.0中的内容

我的代码:

import UIKit 

class ViewController: UIViewController { 

@IBOutlet var webView: UIWebView! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    let url = NSURL(string: "http://www.stackoverflow.com") 

    let task = NSURLSession.sharedSession().dataTaskWithURL(url!) { 
     (data, response, error) in 

     if error == nil { 

      var urlContent = NSString(data: data!, encoding: NSUTF8StringEncoding) 

      print(urlContent) 

      dispatch_async(dispatch_get_main_queue()) { 

       self.webView.loadHTMLString(urlContent! as String, baseURL: nil) 

      } 

     } 


    } 

    task.resume() 


    } 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 


} 

enter image description here

+0

您的代码为我工作。你确定你的插座是在你的故事板或xib中正确设置的吗? – markwatsonatx

回答

-1

我敢肯定,你应该尽量保留数据的任务。

只是声明存储的属性:

var task: NSURLSessionDataTask? 

override func viewDidLoad() { 
super.viewDidLoad() 
// Do any additional setup after loading the view, typically from a nib. 

let url = NSURL(string: "http://www.stackoverflow.com") 

task = NSURLSession.sharedSession().dataTaskWithURL(url!) { 
    (data, response, error) in 

    if error == nil { 

     var urlContent = NSString(data: data!, encoding: NSUTF8StringEncoding) 

     print(urlContent) 

     dispatch_async(dispatch_get_main_queue()) { 

      self.webView.loadHTMLString(urlContent! as String, baseURL: nil) 
      self.task = nil 

     } 

    } 


} 

task.resume() 
+0

你能详细说明我将改变的代码吗? – tccpg288