我有一个tableView,在我的indexpath.section 4我有"我的帐户"当点击时它应该根据情况显示两种不同的视图,我想要做的是:
当用户第一次来到应用程序的这一部分时,显示登录视图控制器
如果用户已登录,则显示"帐户视图控制器"如果没有,则保存用户信息然后显示常规"登录视图控制器"
所有东西都与导航控制器连接以在视图之间移动,因为我使用SWRevealVIewController来使用侧边菜单或抽屉菜单
这是我尝试使用
的代码override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print(indexPath.section)
let isUserLoggedIn = UserDefaults.standard.bool(forKey: "isUserLoggedIn")
if indexPath.section == 4 {
if isUserLoggedIn {
let AccountVC = self.storyboard?.instantiateViewController(withIdentifier: "AccountViewController") as! AccountViewController
self.present(AccountVC, animated: true, completion: nil)
}else{
let LoginVC = self.storyboard?.instantiateViewController(withIdentifier: "LoginView") as! LoginViewController
self.present(LoginVC, animated: true, completion: nil)
}
}
}
谢谢
答案 0 :(得分:0)
您的登录机制是什么?通常,您可以在设备上存储某种令牌(最好不要存储密码和用户名)。您可以将令牌存储在db / user defaults / realm / file或者首选数据存储中。
检查是否存在令牌,如果您使用的是故事板,请使用简单的if来执行此操作或使用segue。如果您以编程方式执行此操作,只需调用present()或push()以显示相应的屏幕。
更新:对不起,我还没看过代码。它对我来说是正确的,究竟是什么问题?