【发布时间】:2016-04-09 16:50:08
【问题描述】:
我正在尝试从后端获取一些数据,然后将其分配给 3 个不同的数组。然后我想用这些数组来填充我的 tableViewCells。问题是,当我在 fetch 块之外打印我的数组时,它们返回 nil。当我在 fetch 块中打印它们时,它们会返回我打算这样做的对象的变量。
我包含 self.tableView.reloadData() 行,希望数组被填充并随后填充 tableViewCells,但它似乎不起作用。
欢迎任何关于如何正确填充这些数组的建议,以便当我在提取请求之外打印它们时,它们会返回适当的数据。
var capArray = [String]()
var imageDic = [String: [PFFile]]()
var priceArray = [Int]()
override func viewDidAppear(animated: Bool) {
capArray.removeAll(keepCapacity: true)
imageDic.removeAll(keepCapacity: true)
priceArray.removeAll(keepCapacity: true)
let query = PFQuery(className: "SellerObject")
query.findObjectsInBackgroundWithBlock { (objects, error) -> Void in
if let objects = objects {
for o in objects {
if o.objectForKey("caption") != nil && o.objectForKey("imageFile") != nil && o.objectForKey("price") != nil {
let cap = o.objectForKey("caption") as? String
self.capArray.append(cap!)
let imdic = o.objectForKey("imageFile") as? [PFFile]
self.imageDic[cap!] = imdic
let price = o.objectForKey("price") as? String
let priceInt = Int(price!)
self.priceArray.append(priceInt!)
}
}
}
}
self.tableView.reloadData()
}
【问题讨论】:
标签: ios arrays swift uitableview pfquery