【发布时间】:2015-08-03 12:32:34
【问题描述】:
抱歉,如果这有点不清楚 - 我是 iOS 编程的菜鸟。这是场景:
我有一个 LogInView、一个 CategoryView、一个 CheckerView、一个 WalkthroughView 和一个 LandingPageView。
用户从 LogInView 开始,根据应用的蓝牙状态,以及用户是否已注册,进入:
- CheckerView(已注册,蓝牙关闭)
- LandingPageView(已注册,蓝牙开启)
- CategoryView(未注册)
如果用户点击 CategoryView,根据他的蓝牙连接状态,他会去任何一个(到目前为止,这部分工作正常):
- WalkthroughView(蓝牙开启)
- CheckerView(蓝牙关闭)
问题是 CategoryView 将始终通过 WalkthroughView,无论蓝牙是否打开。所以,这就是我的故事板的样子:
我知道,一团糟。由于 LogInView 和 CategoryView 在某些时候都可以进入 CheckerView,因此我需要一种方法来检查使用了哪些 segue,例如:
- 如果之前的视图是 LogInView,CheckerView 将始终进入 LandingView,并且
- 如果之前的视图是 CategoryView,它将始终进入 WalkthroughView。
我隐约知道prepareForSegue 函数,但我还不知道如何使用它,也不知道放在哪里(来自上一页,还是在接收页面上?)
有什么建议吗?谢谢。
【问题讨论】:
-
您是否阅读过 UIViewController 类参考中的 prepareForSegue 文档?你看过任何关于使用 segues 的教程吗?如果检查器视图来自使用 prepareForSegue 的登录视图,您可以轻松地在检查器视图上设置布尔值。
-
另一个想法是测试已注册/未注册,并根据该结果,使用
performSegueWithIdentifier来确定您将使用哪个segue。然后测试蓝牙启用/禁用。在prepareForSegue中,您将设置您需要在下一个 VC 上设置的内容。 stackoverflow.com/questions/7864371/…
标签: ios objective-c uistoryboard uistoryboardsegue