Я пытаюсь сделать снимок в своем приложении, чтобы сохранить его на своем устройстве и передать его на следующий контроллер просмотра, который нужно просмотреть. То, как я вижу, что люди делают это, - это хранение изображения, которое они принимают в uiimage. Затем во время подготовки к настройке они устанавливают переменную uiimage в контроллере представления назначения на фотографию, которую вы сделали в предыдущем контроллере представления. Оттуда в контроллере просмотра dest я вижу людей, отображающих изображение следующим образом: imageName.image = imageVariable. Когда я передаю переменную в контроллер представления назначения и попытаюсь отобразить ее в следующем контроллере представления, она отображается как значение nil. Где я иду не так?Сделайте снимок и передайте его другому UIViewController Swift 3.0
Первый ViewController:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "ToDetailPage" {
let nextScene = segue.destination as! PostDetailPageViewController
nextScene.itemImage = self.image
// nextScene?.myimg.image = self.image
}
}
@IBAction func TakePhotoButtonClicked(_ sender: AnyObject) {
if let videoConnection = sessionOutput.connection(withMediaType: AVMediaTypeVideo){
sessionOutput.captureStillImageAsynchronously(from: videoConnection, completionHandler: {
buffer, error in
let imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(buffer)
self.image = UIImage(data: imageData!)
UIImageWriteToSavedPhotosAlbum(UIImage(data: imageData!)!, nil, nil, nil)
})
}
}
Второй ViewController:
var itemImage: UIImage!
@IBOutlet weak var myimg: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
self.categories.dataSource = self;
self.categories.delegate = self;
setUpMap()
myimg.image = itemImage
}
Является ли 'self.image' nonnil в' prepare (for segue:) '? – Ryan
@ Ryan ok yea, который объяснил бы, почему он не передает никакой ценности. Его ноль в приготовлении! Любые идеи, почему он не хранит изображение в методе takephotobuttonclicked? –
Как насчет блока 'sessionOutput.captureStillImageAsynchronously'? Была ли ошибка? 'self.image' в блоке не равен нулю? – Ryan