[英]Accessing variable values in Swift
我正在嘗試將查詢結果從Parse保存到全局變量。 但是,當我在函數中使用println來查看是否保存了數據時,數組將返回空白。
但是,如果我在檢索/保存數據的閉包中使用println,則會顯示所有數據。
如何將數據保存到變量,並在整個類中訪問保存的數據,而不僅是在保存數據的函數內部?
我的代碼:
var itemImages10 = [Int: UIImage]()
var itemImages20 = [Int: UIImage]()
var itemImages30 = [Int: UIImage]()
override func viewDidLoad() {
super.viewDidLoad()
var query = PFQuery(className: "Items")
query.orderByDescending("createdAt")
query.findObjectsInBackgroundWithBlock { (objects: [AnyObject]?, error: NSError?) -> Void in
if error == nil {
let imageObjects = objects as! [PFObject]
for (index, object) in enumerate(imageObjects) {
let thumbnail1 = object["image1"] as! PFFile
let thumbnail2 = object["image2"] as! PFFile
let thumbnail3 = object["image3"] as! PFFile
thumbnail1.getDataInBackgroundWithBlock{(imageData: NSData?, error: NSError?) -> Void in
if error == nil {
if let image = UIImage(data: imageData!) {
self.itemImages10[index] = image
println(self.itemImages10) // shows data
self.pageImages = self.itemImages10.values.array
}
}
}
}
}
println(self.itemImages10) // array is empty
您的問題是,在下載數據之后,關閉以異步方式執行。 做出一些Bool
標志,表明數據已經下載,然后從代碼的其他部分訪問它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.