Вот как вы можете продолжить.Это всего лишь пример.Вы можете взять идею и внедрить в свой код в соответствии с вашими требованиями.
Вместо создания отдельного ViewController
, создайте ViewModel
, который обрабатывает реализацию , сохраняя файл ,т.е.
class SaveOptionsViewModel {
func save(file: String, handler: (()->())?) { //add parameters to save a file as per requirement
//save the file here...
handler?()
}
}
Теперь в controller
, который содержит несколько вариантов сохранения , создайте свойство типа SaveOptionsViewModel
.
И представьте PreviewVC
изSaveOptionsVC
в handler
после сохранения файла с помощью SaveOptionsViewModel
после нажатия saveButton
.
class SaveOptionsVC: UIViewController {
let viewModel = SaveOptionsViewModel()
@IBAction func onTapSaveButton(_ sender: UIButton) {
self.viewModel.save(file: "") {
if let previewVC = self.storyboard?.instantiateViewController(withIdentifier: "PreviewVC") {
self.present(previewVC, animated: true, completion: nil)
}
}
}
}
Добавьте пользовательскую реализацию PreviewVC
согласно вашему требованию.
class PreviewVC: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
//add the code...
}