iOS以编程方式显示基于当前用户的视图控制器

我有一个PreferencesViewController显示有关当前用户的信息:

PreferencesViewController

但这取决于当前的用户。 如果用户还没有login,我正在使用PreferencesViewController viewWillAppear方法触发LoginViewController继续:

LoginViewController

如果用户尚未login并再次点击“ Preferences选项” Preferences卡,就会出现问题。 它将segue退回到PreferencesViewController ,导致意外的行为( PreferencesViewController应该只在用户login时呈现)

什么是解决这个问题的最好方法? 我正在使用的方法可以吗? 它可以更优化吗?

你应该实现委托方法tabBarController:shouldSelectViewController:,如果用户没有login,则返回NO。