簡體   English   中英

在Swift中訪問變量值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM