ThirdViewController
я есть 3 класса:
ChatLogControollerGetImageFromLibraty (класс NSObject)ImagePreviewViewControllerЯ хочу нажать клип с первого VC, а затем открыть медиа-библиотеку, чтобы выбрать изображение. Затем выбранное изображение передается третьему VC в качестве превью-контроллера. Затем, если я выберу «готово», я хочу передать его в первый ВК.
1-й ВК
class ChatLogControoller: UICollectionViewController, UICollectionViewDelegateFlowLayout, NSFetchedResultsControllerDelegate, UINavigationControllerDelegate, UIImagePickerControllerDelegate, DataSentDelegate {
func recievePhoto(data: UIImage) {
imageFromView = data
print("-------\(imageFromView = data)")
}
override func viewDidLoad() {
super.viewDidLoad()
let vc = ImagePreviewController()
self.vc.delegate = self
}
2-й класс - это просто сборщик изображений, так что я передаю изображение в 3-й ВК, и это изображение успешно отображается на изображении 3-го ВЦ!
мой третий вк
protocol DataSentDelegate {
func recievePhoto(data: UIImage)
}
class PreviewController: UIViewController, UIScrollViewDelegate {
var delegate : DataSentDelegate? = nil
var aImageView: UIImageView!
var aImage: UIImage!
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Add", style: .plain, target: self, action:, #selector(actionSend))
navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(actionBack))
}
@objc func actionBack() {
dismiss(animated: false, completion: nil)
}
@objc func actionSend() {
let data = aImageView.image
delegate?.recievePhoto(data: data!)
dismiss(animated: true, completion: nil)
}