Ich Abrufen von Daten aus meiner Datenbank und Verwenden einer Struktur, um das Objekt zu behandeln. Ich muss unten auf newObj
zugreifen, aber das Bild ist nil
. Wenn ich das Bild in der Konvertierung von Daten zu einem UIImage
drucke, existiert das Bild, aber wenn ich es unter dem .getDataInBackground
drucke, ist es Null. Ich vermute, dass ich es in den Block stecken oder es auf einem synchronen Thread laufen lassen muss? Was ist der richtige Weg, damit umzugehen?Wie kann ich nach dem Abrufen von Daten instanziieren?
var pic = UIImage()
pic.getDataInBackground(block: { (data: Data?, error: Error?) in
if(error == nil){
let newPic = UIImage(data: data!)
if(newPic != nil){
pic = newPic!
print("inside block \(pic)") //returns data
}
}else{
print(error)
}
})
print(pic) // returns 0
let newObj = Obj(name: "Bob", pic: pic)