如何在swift 4中删除和添加tabbar项

如何在swift 4中删除和添加tabbar项,swift,xcode,tabbar,Swift,Xcode,Tabbar,如何在购物车为空时删除收银台项目,并再次显示购物车是否已加载,以及在加载项目时删除空间 [] 我尝试了这个,但它从数组中删除了该项 if var tabs = self.tabBarController?.viewControllers { tabs.remove(at: indexToRemove) self.tabBarController?.viewControllers = tabs } else {

如何在购物车为空时删除收银台项目,并再次显示购物车是否已加载,以及在加载项目时删除空间

[]

我尝试了这个,但它从数组中删除了该项

  if var tabs = self.tabBarController?.viewControllers {
            tabs.remove(at: indexToRemove)
            self.tabBarController?.viewControllers = tabs
        } else {
            print("There is something wrong with tabbar 
  controller")
        }

在上面,您将从
选项卡
阵列中删除viewController,而不是从tabBarController的viewController阵列中删除。(检查两个数组的计数以显示此情况)

您需要做的只是:

 self.tabBarController.viewControllers?.remove(at: indexToRemove)

这将从选项卡栏中删除viewController。另一方面,根据viewController的创建方式,它也可能会对其进行反初始化,因此如果您计划稍后再次添加它而不重新初始化它,请注意这一点。确保你有一个强有力的参考。要重新添加,只需将其插入数组。

如何在此处再次添加相同的条形图项目签出项目根据我的上一段,保留对viewController的引用。如果您已经为它存储了属性,请使用该属性,否则
。remove(at:)
将返回已删除的元素,以便您可以捕获并使用该元素
let removedVC=tabBarController.viewControllers?.remove(at:indexToRemove)
然后'tabBarController.viewControllers?.insert(removedVC,at:indexToInsert')