处理来自应用的非 Ui 部分的导航?
注意:当我谈论应用程序后端时,我并不意味着服务器后端。应用后端是应用的一部分。它是应用的非 ui 部分。
我有一个代码设计问题。使用j2objc Java被用作iOS应用程序的后端,其中前端仍然是Objective-C。
在此模型中,哪个部分(前端或后端)应控制导航?
请考虑以下事项。初始视图控制器已加载。用户点击了一个按钮。以下是两种可能的情况:
前端接收手势并打开请求的视图控制器
前端接收手势并将操作报告给 Java 后端。Java 后端决定接下来打开哪个页面,并告诉前端要显示哪个 ViewController。
对我来说,第二种解决方案在代码分离的轮流中似乎更有意义。但是有一个问题发生在我身上。假设你的应用中具有以下 ViewController 结构:
- 起始页 : 主页面:
UIViewController
UINavigationViewController
- > 主选项卡页 1:
UIPageViewController
- > 主选项卡第 2 页:
UIPageViewController
- > 主选项卡页 3: 设置:
UIPageViewController
UIViewController
如果您在应用程序的“到”级别上导航,则很简单。您只需告诉前端打开“起始页”,“主”或“设置”。但是,点击一个按钮从起始页或从主>主选项卡1转到主>主选项卡页3有什么用。您必须执行以下操作:
- 如果你在Startpage上:你必须告诉前端它应该审查Main,然后是Main TabPage3。
- 如果你在Main-TabPage1上>:你必须告诉前端它应该只显示Main-TabPage3。
你可以看到,对于这样一个简单的页面方案,在Java后端显示ViewController的事件似乎有很多情况需要考虑。
这是从Java后端揭示视图的有效方法,还是您认为有更好的方法?