Привет, я новичок в swift и parse.com. Я пытаюсь заполнить свой массив уже сохраненными изображениями в синтаксическом анализе, попробуйте использовать dispatch_async, но не знаю, как это работает , heres код:заполнить массив изображений с помощью синтаксического анализа в swift
//imageArray declaration in table:
var imageArray: Array<UIImage> = []
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! CustomCell
var query = PFQuery(className: "ParseClass")
query.findObjectsInBackgroundWithBlock { (objects: [AnyObject]?, error: NSError?) -> Void in
if(error == nil) {
let imageObjects = objects as! [PFObject]
for object in objects! {
let thumbNail = object["columnInParse"] as! PFFile
thumbNail.getDataInBackgroundWithBlock ({ (imageData: NSData?, error: NSError?) -> Void in
if (error == nil) {
if let image = UIImage(data:imageData!) {
//here where the error appears: Cannot invoke 'dispatch_async' with an argument list of type '(dispatch_queue_t!,() -> _)'
dispatch_async(dispatch_get_main_queue()) {
cell.image.image = self.imageArray.append(image)
}
}
}
})
}
}
else{
println("Error in retrieving \(error)")
}
}
return cell
}
Надеюсь, вы, люди, понимаете этот код.
И это даже не будет работать должным образом, потому что вы не можете вернуть ASync Клетка – milo526
справа, следовательно, для перемещения рекомендованы кем его код запроса за пределами этого метода, вернуть его в массив 'UIImage', а затем используйте это, чтобы установить образ ячейки. – pbush25
@ Daniel Я отредактировал свой ответ, чтобы дать вам обзор (неполный, поскольку он не реализует ваши другие методы и остальные методы 'tableView'' delegate', но, надеюсь, это поможет вам понять. – pbush25