Предположим, у вас есть какой-то класс (который вы должны были предоставить), например:
class MyModel {
var dataFromFirstController: Any?
var dataFromSecondController: Any?
var sharedData: Any?
}
Теперь вам нужен подкласс контроллера просмотра страниц, который управляет данными, поэтому переопределенное представление загружалось всоздайте модель:
var myModel: MyModel!
override func viewDidLoad() {
super.viewDidLoad()
self.myModel = MyModel()
}
Теперь, когда вы генерируете или выбираете контроллеры представления, вы просто назначаете им одну и ту же модель:
func getFirstViewController() -> UIViewController {
let controller = MyFirstController.generate()
controller.myModel = self.myModel
return controller
}
func getSecondViewController() -> UIViewController {
let controller = MySecondController.generate()
controller.myModel = self.myModel
return controller
}
Теперь все 3 контроллера представления совместно используют одну и ту же модель.Это, вероятно, самый простой способ сделать это, но есть очень много способов.Самым чистым, вероятно, являются делегаты, которые отчитываются перед контроллером страницы, который затем отчитывается перед заданными контроллерами представления.