ho avuto un piccolo problema, mi permetta di iniziare con il codiceSwift Aggiornamento Label (con contenuto HTML) batte 1min
class ViewController: UIViewController {
@IBOutlet weak var LBoutput: UILabel!
@IBAction func BTclick(sender: AnyObject) {
var url = NSURL(string: "http://google.com")
println("test0")
let getdata = NSURLSession.sharedSession().dataTaskWithURL(url){(data ,response , error) in
var htmlContent = NSString(data: data, encoding: NSUTF8StringEncoding)
println("test1")
println("test2")
self.LBoutput.text = "test6"
}
println("test3")
getdata.resume()
println("test4")
LBoutput.text = "test5"
}
Questi codici mi danno un'uscita nella console di
test0
test3
test4
test1 test2
anche gli aggiornamenti etichetta per " test5 "senza tempo, ma l'etichetta da aggiornare a" test6 "ha una durata di 30 secondi.
Non ho idea del perché questo richiede così tanto tempo, qualcuno un'idea?
Quello risolto grazie Rikkles –
Non sono sicuro del motivo per cui questo campione stampa solo test3 e test4 e termina con l'etichetta che mostra test5 per me con xcode 6.1.1. Ho copiato il codice in un nuovo progetto swift a vista singola e ho collegato un'etichetta e un pulsante. Il mio obiettivo di distribuzione è os ios 8.1. Xcode non lo lasciava funzionare finché non ho cambiato "' dataTaskWithURL (url) '" in "' dataTaskWithURL (url!) '" (Con punto esclamativo) ma questa è l'unica modifica che ho apportato al codice di esempio. Il mio computer ha una connessione internet e ho provato a girare su simulatore e iphone. L'etichetta dice ancora "test5" dopo 5 minuti. Mi manca qualcosa di ovvio? Grazie. – miker
Cosa c'è nella variabile di errore? La tua chiamata url deve fallire. – Rikkles