2011-10-02 78 views
0

在主頁上有一個UITabBarController和一個SearchBar。 SearchBar搜索數據庫中的項目,並選擇一個項目時,跳轉到選項卡2中的項目。我將視圖層次結構更改爲在該選項卡中使用UINavigationController。在我的viewDidLoad的UINavigationController的rootViewController,我推第一個viewController(3)。這是在這個viewController,搜索項目去。在選擇搜索欄中的項目之前初始化UIViewController

如果我去那個標籤只有一次,然後我的第一個viewController加載,我選擇一個搜索項目,然後它的工作。問題是如果我永遠不會去那個標籤,我的第一個viewController沒有推入堆棧,那麼搜索不知道去哪裏和崩潰。我很確定我做不是調用viewDid從我的第一個標籤中加載我自己,以確保第一個ViewController被推入堆棧。我如何解決這個問題?有什麼我可以在loadView中做的嗎?謝謝。

回答

0

你是對的,viewDidLoad是一個委託方法,不應該被你調用。一,你可以從選項卡1遵循IS-的方法的,在標籤2設定的firstViewController一個實例變量,像pendingItemIndex,對應於要顯示在標籤2.

然後,在viewDidLoad項目firstViewController,檢查pendingItemIndex是否有有效值(可以將默認值設置爲-1)。如果是,則顯示相應的項目。

HTH,

阿克沙伊