使用PFFile - Swift / iOS管理子类PFUser的个人资料图片

时间:2015-06-23 18:50:34

标签: ios swift parse-platform pfuser pffile

我已经在我的iOS应用程序中定义了PFUser,我使用此功能来获取个人资料图片。 hwbprofilePicture@NSManaged PFFile是UIImage。

除了profilePictureImagegetData()是主线​​程上潜在的长时间运行操作之外,这很有用。

有人能想出一种实现此方法的好方法,以便可怕的部分在后台线程上运行吗?

谢谢!

fetchIfNeeded()

2 个答案:

答案 0 :(得分:0)

更改方法,以便不是返回图像而是采用在图像可用时调用的闭包并将其作为参数传递。如果需要下载图像,可以立即调用,也可以在延迟调用后调用。

答案 1 :(得分:0)

按照您的说法执行此操作,使用:fetchIfNeededInBackgroundWithBlock在后​​台运行任务。此外,您的image函数应如下所示:

func imageInBackgroundWithBlock(block: ((UIImage?, NSError?) -> Void)?) {
    var image: UIImage?

    self.fetchIfNeededInBackgroundWithBlock({ (user, error) -> Void in 
        if error == nil {
            // load the picture here
            image = ...

        } else {
            println(error!.userInfo)
            image = UIImage(named: "no_photo")!
        }

        // return after fetching the user and the image
        block?(image, error)
    })

}