将图像从一个VC传输到另一个VC不工作

时间:2016-02-02 23:19:00

标签: ios swift parse-platform

我想要一个图像,当点击时,转到另一个视图控制器,以便他们可以自己查看图像!我这样做有点麻烦,我不确定如何让它去那里!

此变量声明为PFObject

var postsArray = [PFObject]()

此代码位于我的cellForRowAtIndexPath tableView函数

postsArray[indexPath.row]["image"].getDataInBackgroundWithBlock { (data, error) -> Void in
            if let downloadedImage = UIImage(data: data!) {
                postCellObj.postImage.image = downloadedImage
                postCellObj.postImage.layer.masksToBounds = true
                postCellObj.postImage.layer.cornerRadius = 5.0

            }
        }

我在按钮顶部有一个按钮,所以当点击按钮时,我需要将图像转到另一个VC,就像我上面说的那样。这是我的prePareForSegue函数中的代码

if username != PFUser.currentUser()?.username {

   let profileVC: UserProfileViewController = segue.destinationViewController as! UserProfileViewController
   profileVC.usernameString = username

   } else if segue.identifier == "toPhotoView" {
    let dvc = segue.destinationViewController as! PhotoViewController
    dvc.newImage = postImage

}

在我的其他视图控制器或目标视图控制器中,我需要显示单击的图像,但无法弄明白!所以这是目标视图控制器中的一小部分代码。

@IBOutlet weak var image: UIImageView!
    var newImage: UIImage!

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.
    image.image = newImage

}

我很难弄清楚如何这样做只是因为这是一个Parse数组并且它让我失望,有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

如果你知道怎么做,这类问题应该很容易调试。

只需在dvc.newImage = postImageimage.image = newImage添加一些断点,启动应用,点击单元格,然后观察变量。

通常情况下,您提供的代码似乎很好。您可以检查postImage是否为有效对象,在viewDidLoad中,您可以检查dvc.newImage是否是您需要的图片。

如果图像被正确初始化和分配,你就可以了。

顺便说一句,我怀疑image(这是一个UIImageView,您应该更改其名称以反映其类别)是零或您的newImage无效

一些有用的lldb命令,如po

po image.image po newImage