如何在ViewControllers之间正确传递UIImage?

时间:2015-08-13 03:44:33

标签: ios swift uiimage uistoryboardsegue

尝试在UIImageViewControllers之间传递UITapGesture。我已成功添加UITapGesture,但是,我的segue拒绝执行。

以下是我在初始视图中的代码:

var image: UIImage!

func imageTapped() {

        println("it works!")


         func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

            if (segue == "enlargePhoto") {

                let destinationVC = segue.destinationViewController as! EnlargedPhotoViewController

                destinationVC.bigImage = image


            }else {

                println("your code sucksssss!")
            }

        }
    }

destinationVC代码:

import UIKit
import Parse

class EnlargedPhotoViewController: UIViewController {

    @IBOutlet var enlargedHomeImage: UIImageView!

    var bigImage: UIImage!


    override func viewDidLoad() {
        super.viewDidLoad()


        self.enlargedHomeImage!.image = self.bigImage

    }

我的UIImage无法通过的任何想法?一切看起来都很好。 谢谢!

1 个答案:

答案 0 :(得分:1)

您将prepareForSegue声明为嵌套函数,框架不会调用它,这就是您没有将图像传递到目标的原因。正确的方法是在类别范围内实现prepareForSegue(与imageTapped相同的范围。只需将prepareForSegue放在imageTapped的大括号之外,如下所示:

func imageTapped() {
    // Perform the segue
}

func prepareForSegue() {
// Pass the image reference
}