如何手动将PFFile从PFQueryTableViewController转移到另一个ViewController?

时间:2015-11-04 23:14:07

标签: ios swift parse-platform pfquery

我有一个PFQueryTableViewController,我想手动将图像从我的PFTableViewCell转移到我的DetailsViewController。我运行应用程序时显示名称和消息(两个标签),但不显示Parse中的图像。如何手动从PFQueryTableViewController中截取PFFiles并访问DetailsViewController的viewDidLoad中的属性?

   var nameToPass = String()
  var messageToPass = String()
  var photoToPass = PFFile()

  func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
   let object = objectAtIndexPath(indexPath)
   self.nameToPass = object!.objectForKey("account") as! String
   self.messageToPass = object!.objectForKey("message") as! String
   self.photoToPass = object!.objectForKey("profileImg") as! PFFile
  self.performSegueWithIdentifier("manualSegue", sender: self)


}

 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)  {
if segue.identifier == "PostDetail" {
     let destination = segue.destinationViewController as? DetailsViewController
    destination.username = self.nameToPass
    destination.usermessage = self.messageToPass
    destination.userphoto = self.photoToPass
   }

这是我的DetailsViewController:

 var username: String?
var usermessage: String?
var userphoto:PFFile?

@IBOutlet weak var PostName: UILabel?
@IBOutlet weak var PostMessage: UILabel?
@IBOutlet weak var PostPhoto:PFImageView
override func viewDidLoad() 
{
    super.viewDidLoad()
    PostName?.text = username ?? "nil"
    PostMessage?.text = usermessage ?? "nil"
    PostPhoto?.image = userphoto ?? "nil" 
}

1 个答案:

答案 0 :(得分:0)

在详细信息视图控制器中,您将PostPhoto的图像属性设置为PFFile。您应该设置文件属性。

您还可以进行一些错误检查,以确保图像实际通过。

if userphoto != nil {
    PostPhoto.file = userphoto
} else {
    print("User photo not passed")
}
相关问题