如何用单个表格部分显示不同的视图?

时间:2017-05-26 21:56:04

标签: ios swift uitableview uiviewcontroller swift3

我有一个tableView,在我的indexpath.section 4我有"我的帐户"当点击时它应该根据情况显示两种不同的视图,我想要做的是:

  1. 当用户第一次来到应用程序的这一部分时,显示登录视图控制器

  2. 如果用户已登录,则显示"帐户视图控制器"如果没有,则保存用户信息然后显示常规"登录视图控制器"

  3. 所有东西都与导航控制器连接以在视图之间移动,因为我使用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)
    }
    
        }
    }
    

    谢谢

1 个答案:

答案 0 :(得分:0)

您的登录机制是什么?通常,您可以在设备上存储某种令牌(最好不要存储密码和用户名)。您可以将令牌存储在db / user defaults / realm / file或者首选数据存储中。

检查是否存在令牌,如果您使用的是故事板,请使用简单的if来执行此操作或使用segue。如果您以编程方式执行此操作,只需调用present()或push()以显示相应的屏幕。

更新:对不起,我还没看过代码。它对我来说是正确的,究竟是什么问题?