【发布时间】:2010-07-26 11:01:20
【问题描述】:
我正在开发一个 iPhone 应用程序,除其他外,它允许用户注册、登录和注销远程 Web 服务器。
对于这个应用程序功能,我定义了 3 个视图控制器。
- 注册视图控制器
- 登录视图控制器
- 注销视图控制器
每个都有各自的 xib 文件。
我希望能够根据按下的按钮在视图之间切换。例如:
SignupView 将有一个注册按钮和一个登录按钮,如果按下注册按钮,我想将视图切换到 LogoutView,如果按下登录按钮,那么我想将视图切换到 LoginView。
类似地,LoginView 会有一个登录按钮,按下时会将视图切换到 LogoutView
最后,LogoutView 将有一个注销按钮,该按钮的操作会将视图切换到 LoginView
我一直在考虑在开发时采取多种不同的策略,但我不确定哪一个是最好的。
一个想法,可能是最容易实现的想法是在 xib 文件中定义一个具有三个不同视图的单个视图控制器,并让控制器处理切换。 我对这种方法有一些问题,xib 文件会很大并且加载速度可能很慢,而我的控制器逻辑可能会变得非常复杂。
第二个想法和我目前的方法是有一个父视图控制器,它负责切换三个子视图之一。 我遇到的问题是按钮操作只能分配给当前子视图控制器中的方法。在我的情况下,我需要调用来处理切换的方法在父控制器中,并且此方法不适用于我的子视图。
在这里委托似乎是完美的答案,因为我可以要求父控制器执行 switch 方法,但我仍然不确定如何定义委托以在我的代码中执行此操作。
有人可以帮忙吗?是否有第三种策略比委托策略更有效?
【问题讨论】:
标签: iphone cocoa-touch