使用标签栏控制器的相同项目,是否可以根据布尔属性的值实例化备用视图?

问题描述

在 2 种用户类型之间,如果任一用户单击选项卡栏控制器的“项目 1”,是否可以根据该用户的布尔属性值定向到不同的视图控制器?

解决方法

当然,我认为您的用户类型是根据您的 ID 来自后端的。因此,您可以执行以下操作。

struct User {
 salesPerson = false
 // other properties
}

let user = User()
if user.salesPerson { // that means salesPerson is true
let vc = UIStoryboard.init(name: "Main",bundle: Bundle.main)
.instantiateViewController(withIdentifier: "SalesPersonViewController") as? SalesPersonViewController
self.navigationController?.pushViewController(vc!,animated: true)
} else { // that means false so you can push other vc
let vc = UIStoryboard.init(name: "Main",bundle: Bundle.main)
.instantiateViewController(withIdentifier: "AdminViewController") as? AdminViewController
self.navigationController?.pushViewController(vc!,animated: true)
}