Ios 正在尝试检查PFFile是否有数据

Ios 正在尝试检查PFFile是否有数据,ios,parse-platform,pffile,Ios,Parse Platform,Pffile,我试图在尝试从背景中提取图像之前检查PFFile是否有数据。我之所以这样做,是因为如果你试图打开其中一个对象而没有图像,我会一直遇到致命的崩溃!我的问题是我无法让数据检查工作PFFile!=nil不起作用,您无法使用if(recipeImageData)检查它是否存在,因为PFFile不符合布尔协议。任何帮助都将不胜感激 以下是变量的声明: var recipeImageData: PFFile = PFFile() 下面是获取数据的函数: override func viewWillAppe

我试图在尝试从背景中提取图像之前检查PFFile是否有数据。我之所以这样做,是因为如果你试图打开其中一个对象而没有图像,我会一直遇到致命的崩溃!我的问题是我无法让数据检查工作<代码>PFFile!=nil不起作用,您无法使用
if(recipeImageData)
检查它是否存在,因为PFFile不符合布尔协议。任何帮助都将不胜感激

以下是变量的声明:

var recipeImageData: PFFile = PFFile()
下面是获取数据的函数:

override func viewWillAppear(animated: Bool) {
  navItem.title = recipeObject["Name"] as? String
  recipeImageData = recipeObject["Image"] as PFFile //Fatally crashes on this line
  // Fetch the image from the background
  if (recipeImageData) {
    recipeImageData.getDataInBackgroundWithBlock({
      (imageData: NSData!, error: NSError!) -> Void in
      if error == nil {
        self.recipeImage.image = UIImage(data: imageData)?
      } else {
        println("Error: \(error.description)")
      }
    })
  }
}
编辑:

我只是试着这样做,因为我可能在错误的区域进行检查。这是我的更新代码

override func viewWillAppear(animated: Bool) {
  navItem.title = recipeObject["Name"] as? String
  if let recipeImageData = recipeObject["Image"] as? PFFile {
    // Fetch the image in the background
    recipeImageData.getDataInBackgroundWithBlock({
      (imageData: NSData!, error: NSError!) -> Void in
      if error == nil {
        self.recipeImage.image = UIImage(data: imageData)?
      } else {
        println("Error: \(error.description)")
      }
    })
  }
}

这项检查实际上运行得很好,是另一个问题导致了崩溃。正确的代码如下所示:

override func viewWillAppear(animated: Bool) {
  navItem.title = recipeObject["Name"] as? String
  if let recipeImageData = recipeObject["Image"] as? PFFile {
    // Fetch the image in the background
    recipeImageData.getDataInBackgroundWithBlock({
      (imageData: NSData!, error: NSError!) -> Void in
      if error == nil {
        self.recipeImage.image = UIImage(data: imageData)?
      } else {
        println("Error: \(error.description)")
      }
    })
  }
}

你试过了吗<代码>如果(recipeObject[“Image”])在<代码>recipeImageData=recipeObject[“Image”]之前这会导致Parse出现致命的崩溃,尽管说Parse thoughYeah中有一个无法识别的选择器被发送到类中,但我意识到@Klevison和更新的代码显示了我试图检查它的检查,但我认为我更新的代码可能仍然是错误的。PFFile不能是可选的,因此可能是wrong@KlevisonMatias我也厌倦了你建议的检查,但我得到了与Parse相同的致命错误,即无法识别发送到itpastebin你的模型(PFObject)的选择器。