2016-07-06 6 views
0

Objective-Cを使用してiOSタブバーアプリケーションを開発します。ユーザーがアプリを開くと、タブ1に表示されます。ユーザーがtab1で画像をクリックすると、画像はtab3にジャンプします。iOSでObserverを追加する場所

tab3が開いていないため、tab3でaddObserverを呼び出すのが問題です。

+1

あなたがaddObserver 'によって何を意味する方法は不明です'(その名前を持つ少なくとも2つの異なるグループのメソッドがあります)、そうしたいのはなぜですか?一般に、ビュー・コントローラーが画面に表示されていないときに何かを観察する必要がある場合は、MVCに違反している可能性があります。 https://developer.apple.com/library/mac/documentation/General/Conceptual/CocoaEncyclopedia/Model-View-Controller/Model-View-Controller.html画面を見ているだけでよい場合は、 'viewDidAppear 'と' viewWillDisappear'です。 –

答えて

0

私はあなたの質問を取得した場合、正しくあなたはちょうどあなたがタブ1

から写真をクリックするとTAB3を開きたいIMOは、ウィンドウ - > mainController-> tabController [タブ]

でのようなものを持っている必要がありますあなたのtab1Controllerデリゲートを設定すると、 "tab1DidSelectSomething:(NSString *)something"というメソッドを持つ "Tab1ControllerDelegate"と呼ぶことができます。あなたのmainControllerでデリゲートを自分に割り当てることができます。あなたのメインコントローラで次に

if(_delegate){ [_delegate tab1DidSelectSomething:<whatEverheSelected>]; }

:あなたのような何かを行うことができ、あなたのtab1Controllerピッカーアクションで

i.e. 
    tab1Controller.delegate = self; 

-(void)tab1DidSelectSomething:(NSString *)something{ // get the viewController here UIViewController *controller = _tabController.viewControllers[2]; [controller updateselected:something]; _tabController.selectedIndex = 2; }

関連する問題