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에 대한 새로운 기능과 도움에 감사드립니다.