如何在购物车为空时删除结账栏项目,并在购物车已加载时再次显示,以及在有 3 项项目时删除空间
[ ]
我尝试了这个,但它从数组中删除了该项目
if var tabs = self.tabBarController?.viewControllers {
tabs.remove(at: indexToRemove)
self.tabBarController?.viewControllers = tabs
} else {
print("There is something wrong with tabbar
controller")
}
最佳答案
上面您是从 tabs
数组中删除 viewController,而不是 tabBarController 的 viewControllers 数组。 (检查两个数组的计数来显示这一点)
您需要做的是:
self.tabBarController.viewControllers?.remove(at: indexToRemove)
这将从选项卡栏中删除 viewController。顺便说一句,根据 viewController 的创建方式,它也可能会取消初始化,因此如果您打算稍后再次添加它而不重新初始化它,请注意这一点。确保你对它有强有力的引用。要将其添加回来,只需将其插入到数组中即可。
关于swift - 如何在 swift 4 中删除和添加选项卡栏项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58807417/