Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift-向特定类型的用户显示不同版本的视图控制器_Ios_Swift_User Interface_Uiviewcontroller_Uitabbarcontroller - Fatal编程技术网

Ios Swift-向特定类型的用户显示不同版本的视图控制器

Ios Swift-向特定类型的用户显示不同版本的视图控制器,ios,swift,user-interface,uiviewcontroller,uitabbarcontroller,Ios,Swift,User Interface,Uiviewcontroller,Uitabbarcontroller,尝试遵循一些最佳实践,以便寻求建议 有两种类型的用户:用户、管理员 并希望向某些用户类型呈现特定视图控制器的不同“版本”。此特定视图控制器嵌套在选项卡栏控制器中,选项卡栏控制器中的其他视图控制器对于每个用户都是相同的 可能是想得太多了,并考虑过根据用户类型隐藏情节提要元素,但必须有更好的方法来完成显示嵌套在选项卡栏控制器中的视图控制器的不同版本 您只需创建两个不同的视图控制器,然后根据用户类型选择正确的视图控制器 如果从InitialViewController开始,则创建两个不同的段,分别进入

尝试遵循一些最佳实践,以便寻求建议

有两种类型的用户:用户、管理员

并希望向某些用户类型呈现特定视图控制器的不同“版本”。此特定视图控制器嵌套在选项卡栏控制器中,选项卡栏控制器中的其他视图控制器对于每个用户都是相同的


可能是想得太多了,并考虑过根据用户类型隐藏情节提要元素,但必须有更好的方法来完成显示嵌套在选项卡栏控制器中的视图控制器的不同版本

您只需创建两个不同的
视图控制器
,然后根据用户类型选择正确的视图控制器

如果从
InitialViewController
开始,则创建两个不同的段,分别进入
adminiwcontroller
UserViewController
。然后,在
InitialViewController
中执行类型检查,并相应地选择正确的类型


有很多其他的方法来克服你的问题。如果您需要任何进一步的澄清或其他方式,请不要犹豫

Thx的建议,并决定基本上你所说的,但与一个拷贝和粘贴的所有我的VCs的用户类型和编辑的管理员类型与一个segue直接到正确的vc“集”。每种类型的VCs都会有比我想象的更多的编辑,所以沿着这条路线走下去更有意义。您声明的两个不同的
ViewControllers
可以随后切换到相同的ViewControllers流,这样您就不必复制和粘贴所有后续的ViewControllers。我还建议将
AdminViewController
UserViewController
之间的公共代码包装在超类
BaseUserViewController
中,这样就不必多次编写相同的重复代码,然后从
BaseUserViewController
继承到
AdminViewController
UserViewController
。如果您选择我的解决方案,如果您能将其标记为正确的@Ben,我将不胜感激