我在我的应用中使用多个NavigationController
let navViewController = UINavigationController(rootViewController: vc)
将标签分配为
navViewController.navigationBar.tag = 10
&以
获取if navigationController?.navigationBar.tag == 10 {
代替navigationBar.tag
,我们是否不能使用navViewController引用或navigationController.tag
进行区分?
答案 0 :(得分:2)
使用标签区分导航控制器是可以的。为了使代码更具可读性并避免任何可能的错误,可以将标签定义为常量或枚举,然后检查常量值。
另一种方法是为每种情况子类化UINavigationController并检查相应的类:
if let navController = navigationController as? CustomNavigationController {
//your code
}
子类化将添加到样板中,并使项目更大。因此,如果您不需要在每个导航控制器上进行任何自定义,则可以继续使用标签。