2017-03-13 14 views
0

イメージを別のView Controllerに送信しようとしています。セグの準備がイメージスウィフトを送信しないのはなぜですか?

override func prepare(for segue: UIStoryboardSegue, sender: Any!) { 

    if (segue.identifier == "cropSegue") { 

     let crop : CropViewController = segue.destination as! CropViewController 
     crop.cropImage = image 
     print("prepared") 
    } 
} 

と受信側

class CropViewController: UIViewController { 
@IBOutlet weak var imageView: UIImageView! 
var cropImage : UIImage! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    self.imageView.image = cropImage 
    // Do any additional setup after loading the view. 
} 

イム間違って何が起こっているのかわからないが、画像が表示されていない上、でもセグエの準備が呼び出されていると思いました。理由は何ですか?

+0

してみてください。私はそれが動作すると確信しています。また、ブレークポイントを設定して、何が起きているのかを確認することもできます。 – dfd

+0

この時点で 'crop.cropImage = image'が' image'がnilではないと確信していますか? – user3581248

+0

私の推測では、segueの識別子は "cropSegue"ではなく、ブレークポイントを設定して調べるということです。 prepareForSegueで何が起こっています – Paulw11

答えて

0

この

class CropViewController: UIViewController { 
@IBOutlet weak var imageView: UIImageView! 
var cropImage : UIImage? 

override func viewDidLoad() { 
    super.viewDidLoad() 
    if let image = cropImage { 
     self.imageView.image = image 
    }   
} 
は* viewWillAppear()*にごCropViewControllerコードを移動し
関連する問題