2014-06-24 7 views
0

segue를 사용하여 한 뷰 컨트롤러에서 다른 뷰 컨트롤러로 이미지를 전달하려고 시도하지만 이미지가 null이며 사용할 수 없습니다.신속하게 한 뷰 컨트롤러에서 다른 뷰 컨트롤러로 이미지 전달

여기는 mainViewController.swift이며, 모든 로그는 올바른 값을 표시합니다. 여기

func imagePickerController(picker:UIImagePickerController!,didFinishPickingMediaWithInfo info: NSDictionary!){ 
    var i:UIImage = info.objectForKey(UIImagePickerControllerOriginalImage) as UIImage 
    NSLog("%f, %f", i.size.width, i.size.height); 

    orignal = i 
    NSLog("iamge %@", orignal) 
    performSegueWithIdentifier("showPhoto", sender: self) 
    dismissModalViewControllerAnimated(false) 
} 

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { 
    var imageEditcontroller:ImageEditViewController = segue.destinationViewController as ImageEditViewController 

    imageEditcontroller.editImage = orignal 
    NSLog("iamge %@", imageEditcontroller.editImage) 
} 

다른 뷰 컨트롤러 "ImageEditViewController.swift"

import UIKit 

class ImageEditViewController: UIViewController { 

    @IBOutlet var imagEditView : UIImageView 

    var editImage:UIImage=UIImage() 

    @IBAction func doDecorateBtn(sender : AnyObject) { 
     print("here text chage5") 
    } 

    @IBAction func doEmailBtn(sender : AnyObject) { 
     print("here text chage6")   
    } 

    init(coder aDecoder: NSCoder!) { 
     super.init(coder: aDecoder) 
     NSLog("iamge2 %@", editImage)    
    } 

    override func viewWillAppear(animated: Bool) { 
     super.viewWillAppear(animated) 
     NSLog("iamge1 %@", editImage) 
    } 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the vie 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 
} 

그래서이보기 컨트롤러의 로그를 볼 수있다, var에의 editImage는 바로 값으로 초기화되지 않습니다. IOS에 대한 새로운 기능과 도움에 감사드립니다.

답변

1

나는 이미지를 다른 viewcontroller로 전달할 수 있다고 생각하지 않는다. 문제는 API 사용 중단 때문입니다. "dismissModalViewControllerAnimated". 자세한 내용은이 질문을 참조하십시오. dismissModalViewControllerAnimated deprecated

0

광산을 참조하십시오. (저는 uipickerview와 delegate 메소드를 사용했습니다)

관련 문제