Ich verwende Xcode 6 Beta 4, und ich versuche, ein Remote-Image abzurufen und es einem UIImageView zuzuordnen. Ich verwende eine NSURLSession dataTask, um diese asynchron zu machen. Hier ist mein Code:Weisen Sie UIImageView ein neues Bild mit Swift zu
func dataTask(imageUrl: String, targetImage:UIImageView) {
let nsURL = NSURL(string: imageUrl)
let task = NSURLSession.sharedSession().dataTaskWithURL(nsURL) {
(data, response, error) in
if !error {
NSLog("No Error!")
var image:UIImage = UIImage(data: data)
targetImage.image = image
}
else {
NSLog("Error!")
}
}
task.resume()
}
dies ist, wie ich den Anruf zu tätigen:
self.dataTask("http://bicicletaspony.com/img/spn/TeamA.png", targetImage: image)
Und das ist der Fehler, den ich :(erhalten
beenden app aufgrund nicht abgefangene Ausnahme ‚NSInternalInconsistencyException ', Grund:' Änderungen an der Layout-Engine dürfen nicht von einem Hintergrundthread ausgeführt werden. '
Es ist eine sehr einfache Bildzuordnung. Warum stürzt es so ab ?! jede Hilfe wird sehr geschätzt!
iain Danke für Ihre Antwort so schnell !, auch: Sie werden festlegen müssen das Bild auf dem Hauptthread mit so etwas wie dieses! –