尝试使用Swift从Parse显示图像时出现问题

时间:2015-06-16 17:34:01

标签: ios image swift parse-platform

我正在尝试使用swift从解析中显示图像。这是我的代码:

var query = PFQuery(className: "Maps")
            query.getObjectInBackgroundWithId("1234asdf3456") {
                (object: PFObject?, error: NSError?) -> Void in
                if error == nil
                {
                    println(object)
                    var objectAsPF = object as PFObject!
                    let file = objectAsPF["imageFile"] as! PFFile
                    file.getDataInBackgroundWithBlock {
                        (imageData:NSData?, error:NSError?) -> Void in
                        if error == nil {
                            if let imageData = imageData {
                                let map:UIImage = UIImage(data: imageData)!
                                self.MapView.image = map
                                println("success")
                            }
                        }   
                    }

                }
                else
                {
                    println(error)
                }
            }

我在println设置断点("成功")并检查变量值,一切正常,直到我尝试将imageData转换为UIImage。有什么提示吗?

1 个答案:

答案 0 :(得分:0)

使用此代码从解析中撤消图像,然后将其从PFFile转换为UIImage ...

     var query = PFQuery(className:"Maps")

            query.findObjectsInBackgroundWithBlock {
                (objects: [AnyObject]?, error: NSError?) -> Void in

                if error == nil {
                    // The find succeeded.
                    self.scored = objects!.count
                    // Do something with the found objects
                    if let objects = objects as? [PFObject] {
                        for object in objects {




                            let userImageFile = object["imageFile"] as! PFFile
                            userImageFile.getDataInBackgroundWithBlock {
                                (imageData: NSData?, error: NSError?) -> Void in
                                if error == nil {
                                    if let imageData = imageData {
                                        let image = UIImage(data:imageData)

                                    if image != nil {
                                        self.imageArray.append(image!)
                                    }

                                    }
                                }




                            }





                        }
                    }
                } else {
                    // Log details of the failure
                    println("Error: \(error!) \(error!.userInfo!)")
                }

                dispatch_async(dispatch_get_main_queue()) {

                    println("Finished Loading Image")



                }