从PFFile到PFFile的条件演员总是成功

时间:2016-01-25 14:12:04

标签: ios swift parse-platform casting pffile

我变得温暖了#34;从PFFile到PFFile的条件演员总是成功"其中突出显示了if let tempProductPicture = self.askProductImageArray[0] as? PFFile。解决它的最佳方法是什么?感谢

var askProductImageArray = [PFFile]()
override func viewDidLoad() {
    let query = PFQuery(className: "products")
    query.whereKey("title", equalTo: labelTitleText)
    query.findObjectsInBackgroundWithBlock { (objects: [PFObject]?, error:NSError?) -> Void in
            if error != nil {
            }
            for object in objects! {
                self.askProductImageArray.append(object.objectForKey("detailsImage") as! PFFile)
                self.askTable.reloadData()
            }
            if let tempProductPicture = self.askProductImageArray[0] as? PFFile {
                tempProductPicture.getDataInBackgroundWithBlock { data, error in
                    if data == nil {

                    } else if error != nil {
                    } else {
                        self.productPicture.image = UIImage(data: data!)
                    }
                }
            }
}

1 个答案:

答案 0 :(得分:1)

您的self.askProductImageArrayPFFIle类型的数组,因此无需执行s? PFFile因为swift是强类型语言,它只会保留PFFile所以卸妆as? PFFile最后。

在您的情况下,根本不需要if let,您只需检查项目是否已存在。

你可以做这样的事情

if self.askProductImageArray.count > 0 {
let tempProduct = self.askProductImageArray[0]
// and do rest 
}