我真的在努力应该做一些简单的代码。
我有一个ios应用程序,在uitabcontroller中有4个选项卡,具体取决于另一个选项卡中的设置,我想要替换第一个选项卡所在的控制器。我发现我不能简单地替换这个第一个标签(虽然我以某种方式管理了几个版本然后它在干净后停止工作)。
所以我选择使用.setViewControllers方法替换选项卡控制器引用的viewcontrollers。我在viewdidload方法之后从我的viewcontroller中调用它。
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc0 = storyboard.instantiateViewControllerWithIdentifier("collection")
let vc4 = storyboard.instantiateViewControllerWithIdentifier("profilenews1")
let vc1: UIViewController! = storyboard.instantiateViewControllerWithIdentifier("news") as UIViewController
let vc2: UIViewController! = storyboard.instantiateViewControllerWithIdentifier("create") as UIViewController
let vc3: UIViewController! = storyboard.instantiateViewControllerWithIdentifier("search") as UIViewController
let controllers = [vc0,vc4]
self.tabBarController?.setViewControllers(controllers, animated: true)
从我做过的研究应该可行,setViewControllers已经记录,我已经看到了很多客观的c例子,但是我得到了EXEC_BAD_INSTRUCTION。
我在检查之前检查了tabcontroller是否正确
println("number of navs: \(self.tabBarController?.viewControllers?.count)")
并打印正确数量的控制器。
有什么想法吗?