所以我基本上构建了一个小浏览器。在一个VC上,您将链接放入textField并使用一个按钮转到找到webView的另一个VC。
import Foundation
import UIKit
class ViewOne:UIViewController {
@IBOutlet weak var textField: UITextField!
@IBAction func clear(sender: AnyObject) {
textField.text = ""
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "go" {
let controller:ViewTwo = segue.destinationViewController as! ViewTwo
controller.textField = self.textField.text! as String
}
}
}
import Foundation
import UIKit
class ViewTwo:UIViewController {
@IBOutlet weak var webView: UIWebView!
override func viewDidAppear(animated: Bool) {
let url = NSURL(string: textField!)
let task = NSURLSession.sharedSession().dataTaskWithURL(url!) { (data, response, error) in
if let urlContent = data {
let webContent = NSString(data: urlContent, encoding: NSUTF8StringEncoding)
dispatch_async(dispatch_get_main_queue(), {
self.webView.loadHTMLString(String(webContent!), baseURL: nil)
})
}
}
task.resume()
if textField?.isEmpty == true {
print("nothing received")
} else {
print("\(textField)")
}
}
var textField:String?
}
似乎数据不会通过。我得到了一个致命的错误,说NSURLSession在展开时没有发现任何内容" url"。
答案 0 :(得分:3)
不要使用NSURL(string: "\(XXX)")
,因为字符串的描述将包含它是可选的。而只是使用字符串NSURL(string: textField!)
。