so bin ich im Grunde ein kleiner Browser zu bauen. Auf einer VC würden Sie den Link in ein textField einfügen und eine Schaltfläche verwenden, um zu der anderen VC zu gelangen, in der das webView gefunden wird.Übergeben von Daten zwischen ViewControllern mit prepareForSegue funktioniert nicht
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?
}
Es scheint, als ob die Daten nicht bestehen. Ich bekomme einen fatalen Fehler, der besagt, dass NSURLSession beim Entpacken von "url" nichts gefunden hat.
Postleitzahl als Code, kein Bild – Wain
Haben Sie überprüft, ob die Segmentkennung in Ihrem Code mit der in Ihrem Storyboard übereinstimmt? –
** 1.) ** Legen Sie den textField-Text tatsächlich in der App fest, bevor Sie ihn segmentieren, oder lassen Sie ihn einfach leer? ** 2.) ** Versuchen Sie, Ihre 'textField.isEmpty' an eine' viewDidLoad() 'Funktion zu übergeben, und behandeln Sie dort den möglichen Nullwert. ** 3.) ** Wie von @Wain angefordert, bitte posten Sie den tatsächlichen Code anstelle von Bildern. – ZGski