【发布时间】:2015-06-20 02:25:31
【问题描述】:
当我为我的应用程序开发登录/注册视图时,我遇到了这个困境。登录和注册是两个不同的功能;因此它们应该在两个不同的视图控制器中。然而,我设计视图的方式使得拥有两个视图变得过于复杂,因为两个函数之间的过渡动画本身就很复杂。如何在遵守 MVC 准则的同时构建应用程序的这一部分?
【问题讨论】:
-
登录和注册应该是你的模型的方法,由你的单个 VC 调用。
当我为我的应用程序开发登录/注册视图时,我遇到了这个困境。登录和注册是两个不同的功能;因此它们应该在两个不同的视图控制器中。然而,我设计视图的方式使得拥有两个视图变得过于复杂,因为两个函数之间的过渡动画本身就很复杂。如何在遵守 MVC 准则的同时构建应用程序的这一部分?
【问题讨论】:
Apple 将视图控制器定义为一个“全屏”信息。如果您认为登录和注册可以作为同一个“屏幕”信息共存,我认为不值得尝试将它们分开。更重要的是,您可以分离所有其他逻辑来清理这个类。网络代码应该在某种请求客户端中,设置用户名/密码应该在帐户管理器中,等等。
【讨论】:
您可以轻松实现这一点,甚至更进一步,使用 Container View 在两个 VC 之间添加一些很酷的过渡动画。您可以在此容器中轻松交换两个不同的 VC。我通常这样做是为了替换 iPad 的 UISplitView,因为它在实现时出现问题,即 UITabBarController。总而言之,当应用程序需要经常替换这些 VC 并避免使用 s.c. 的解决方案时,使用容器视图是整理两个不同 VC 之间代码的好方法。海量视图控制器:)
您可以从本教程开始,它包含一个 github 存储库并描述了使用 Container View 的所有实践。
【讨论】: