Ich habe diesen Code aus here 2. synchrone Anforderung einer URL auf Swift zu tunSynchrone URL-Anfrage auf Swift 2
func send(url: String, f: (String)->()) {
var request = NSURLRequest(URL: NSURL(string: url)!)
var response: NSURLResponse?
var error: NSErrorPointer = nil
var data = NSURLConnection.sendSynchronousRequest(request, returningResponse: &response, error: error)
var reply = NSString(data: data, encoding: NSUTF8StringEncoding)
f(reply)
}
aber die Funktion NSURLConnection.sendSynchronousRequest(request, returningResponse: &response, error: error)
war veraltet, und ich sehe nicht, wie ein Synchron tun können Anfragen an Swift, denn die Alternative ist asynchron. Anscheinend lehnte Apple die einzige Funktion ab, die es synchron tun kann.
Wie kann ich das tun?
Sie in der Regel eine synchrone Web-Anfrage wirklich nicht wollen, weil machen Es könnte eine sehr lange Zeit dauern und das wäre keine nette Benutzererfahrung, deshalb wurde sie entfernt. Aber wenn Sie wirklich brauchen, können Sie meine Antwort [hier] (http://stackoverflow.com/a/30992778/3443689) ansehen und sie an Ihre Bedürfnisse anpassen.Die Funktion 'syncFromAsync' nimmt eine asynchrone Funktion und führt sie synchron aus, es gibt dort auch ein Beispiel: – Kametrixom
wow, dieser Code ist ziemlich exoterisch für mich, wie uralte Klingonen! Ich lerne immer noch Swift. Habe keine Ahnung, wie ich das anpasse, um eine URL-Anfrage zu machen! Danke trotzdem. – SpaceDog
Siehe http://stackoverflow.com/questions/27785168/swift-nsurlconnection-sendsynchronousrequest –