ios - 如何用单个表格部分显示不同的 View ?

标签 ios swift uitableview uiviewcontroller swift3

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

  1. 当用户第一次进入应用程序的这一部分时,显示登录 View Controller

  2. 如果用户已登录,则显示保存用户信息的“帐户 View Controller ”,如果未登录,则显示常规“登录 View Controller ”

一切都与导航 Controller 连接以在 View 之间移动,因为我使用 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)
}

    }
}

谢谢

最佳答案

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

检查 token 是否存在,如果您使用 Storyboard,则使用简单的 if 来执行这个或那个 segue。如果您以编程方式执行此操作,只需调用present() 或push() 即可显示适当的屏幕。

更新:抱歉,我没有查看代码。在我看来是正确的,那么问题到底是什么?

关于ios - 如何用单个表格部分显示不同的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44210617/

相关文章:

ios - 对带有分页的 UIScrollView 的约束

ios - 使用范围外的数据

arrays - 更改数组中结构的值

ios - 重写drawRect(_ :) in UITableViewHeaderFooterView results in black background

ios - XCode UITable 滚动更改文本值

ios - 向 UIImage 添加宽度?

ios - uitableviewCell 中用于执行 segue 的 Swift UIbutton 不起作用

ios - 崩溃分析 : stuck on "Verifying Installation..." step

iphone - 检查文本字段文本是否几乎等于字符串

ios - indexPathForRowAtPoint 仅对 uitableview 中的第一个单元格返回 nil