在getDataInBackgroundWithBlock之后运行一个func

时间:2014-10-20 11:46:23

标签: swift parse-platform

全部,我在swift中运行此函数以获取数组(UImages)中的图像

func getImageData(objects: [PFObject]) {
        for object in objects {
            let thumbNail = object["StaffPic"] as PFFile

            thumbNail.getDataInBackgroundWithBlock({
                (imageData: NSData!, error: NSError!) -> Void in
                if (error == nil) {
                    let image = UIImage(data:imageData)
                    println(image)
                    self.logoImages.append(image)

有没有什么我可以用来在执行此主线程后运行一个函数?  我创建了一个测试函数:

func displayImages()
{
    if self.logoImages.isEmpty
    {
        println("Logos are empty")
    }
    else
    {
        println(self.logoImages.count)
    }
}

但这始终是 - Logos是空的,因为它在getDataInBackgroundBlock完成之前运行它。任何帮助都会很棒。

如果我添加这个:

  func getImageData(objects: [PFObject]) {
        for object in objects {
            let thumbNail = object["StaffPic"] as PFFile

            thumbNail.getDataInBackgroundWithBlock({
                (imageData: NSData!, error: NSError!) -> Void in
                if (error == nil) {
                    let image = UIImage(data:imageData)
                    println(image)
                    self.logoImages.append(image)

                }


            }, progressBlock: {
                (percentDone: Int) -> Void in

        })

所以我在函数末尾添加了progressBlock。它无法识别progressBlock ..

1 个答案:

答案 0 :(得分:1)

我已经通过

解决了这个问题
  }, progressBlock: {(percentDone: CInt) -> Void in

    })

使用CInt而非Int