【发布时间】:2022-01-24 02:14:27
【问题描述】:
晚安! 你能告诉我如何将数据从控制器 2 写入控制器 1 吗? 我在主屏幕上有一个坐标。
final class MenuCoffeLikeCoordinator: TabBarPresentableCoordinator {
var tabBarItem: UITabBarItem = {
let title = "Меню"
let image = UIImage(asset: Resources.Assets.TabBarItems.mainTabBar)
let selectedImage = UIImage(asset: Resources.Assets.TabBarItems.mainTabBarSelected)
let item = UITabBarItem(title: title, image: image, selectedImage: selectedImage)
return item
}()
var navigationController: UINavigationController
init(navigationController: UINavigationController = UINavigationController()) {
self.navigationController = navigationController
}
var didFinish: (() -> Void)?
func start() {
self.navigationController.pushViewController(createMenuCoffeLikeFlow(), animated: true)
}
func stop() {}
func createMenuCoffeLikeFlow() { -> UIViewController {
let menuController = MenuCoffeLikeAssembler.createModule()
menuController.rx.didTapMapLayer.onNext {
let controller = self.createCoffeeBarMap()
self.navigationController.pushViewController(controller, animated: true)
}
return menuController
}
private func createCoffeeBarMap() -> UIViewController {
let controller = CoffeeBarContainerAssembler.createModule()
controller.obsRelay.subscribe(onNext: { event in
self.navigationController.popViewController(animated: true)
})
return controller
}
}
在 createMenuCoffeeLikeFlow 函数中,我创建了主屏幕,当我点击按钮时,我转到屏幕 2 (createCoffeeBarMap)
在函数(createCoffeeBarMap)内部,我订阅了PublishSubject,当数据发生变化时,我得到一个新的文本。 我需要在 createMenuCoffeeLikeFlow 函数中的 menuCoffeeControler 中编写此文本。我该怎么做?
【问题讨论】:
-
你从哪里得到这个架构?他们对如何将数据传回之前的控制器有什么看法?
-
@DanielT。这是 mvvm。
-
不,不是。至少不是我见过的任何 MVVM。你在哪里找到像这样的代码?
-
@DanielT。它唯一的协调员,也许我没有那样实现它,如果有一个例子我会很感激