在选择搜索栏中的项目之前初始化UIViewController
问题描述:
在主页上有一个UITabBarController和一个SearchBar。 SearchBar搜索数据库中的项目,并选择一个项目时,跳转到选项卡2中的项目。我将视图层次结构更改为在该选项卡中使用UINavigationController。在我的viewDidLoad的UINavigationController的rootViewController,我推第一个viewController(3)。这是在这个viewController,搜索项目去。在选择搜索栏中的项目之前初始化UIViewController
如果我去那个标签只有一次,然后我的第一个viewController加载,我选择一个搜索项目,然后它的工作。问题是如果我永远不会去那个标签,我的第一个viewController没有推入堆栈,那么搜索不知道去哪里和崩溃。我很确定我做不是调用viewDid从我的第一个标签中加载我自己,以确保第一个ViewController被推入堆栈。我如何解决这个问题?有什么我可以在loadView中做的吗?谢谢。
答
你是对的,viewDidLoad
是一个委托方法,不应该被你调用。一,你可以从选项卡1遵循IS-的方法的,在标签2设定的firstViewController
一个实例变量,像pendingItemIndex
,对应于要显示在标签2.
然后,在viewDidLoad
项目firstViewController
,检查pendingItemIndex
是否有有效值(可以将默认值设置为-1)。如果是,则显示相应的项目。
HTH,
阿克沙伊