2012-01-15 7 views
0

私は数週間プロトコルとデリゲートを使用していましたが、サブビューから親ビューにデータを渡すことに問題はありませんでした。プロトコルとデリゲートを使用してサブビューから親ビューにデータを渡す

しかし、私は今プロトコルといくつかのデータをサブスタックからナビゲーションスタック上の親ビューに委譲しようとしています。

すなわち、問題のビーイングは、私はそれを行うための方法を見つけるように見えることはできません代理人としてその親ビューを設定しているが

view 0 - to here, missing view 1 
-- view 1 
--- view 3 - pass from here 

。私はこの

SubResultViewController *subResultViewController = [[SubResultViewController alloc] init]; 
     [subResultViewController setDelegate:self]; 

その後、私は私は私がメインで、デリゲートの受信方法にブレークポイントを置くか、これまでのすべてのコードを実行したときにすべてのエラーを取得いけないことsubResultViewControllerですべてを設定するようにそれを設定しています私はちょうどアクセスれることは決してありません、それにすべてを渡していビュー..

私は私が(ナビゲーションスタック上の複数のビューを介して)このようにプロトコルとデリゲートを使用していくつかの助けを得ることができます期待しています

任意のに役立つだろう大変感謝します。

答えて

1

ビューから代表者を渡すの問題はのViewControllerはまだこれをやって、一度ロードされたということです。

SubResultViewController *subResultViewController = [[SubResultViewController alloc] init]; 
     [subResultViewController setDelegate:self]; 

新しいSubResultViewControllerオブジェクトではなく、既にロード1(初期化)を初期化しています。 メッセージを送信したいビューに受け取ったviewControllerを何とか渡す必要があります。これはNSNotificationが便利な場所です。受信側のView Controllerを通知のリスナ(オブザーバ)として設定し、同じ「名前」で通知が送信されると、受信したメッセージはすべて通知されます。通知センターの使用方法を学んだ後、ビュー/クラス間で通信することができました。

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSNotificationCenter_Class/Reference/Reference.html

+0

大丈夫クールな私は男これはプロトコルや代表者に関してがっかり本当..ですそこに顔をしているだろう...そのリンゴであることは、あなたがそのような作業を行うことができると思うだろう、それらをお勧めします。あなたの助けてくれてありがとう、私はnsnotificationsについていくつかの読書をするつもりです。 –

+0

これは、ナビゲーション階層を介して0ビューコントローラを3番目のビューコントローラに渡すだけです。または、NavigationController viewControllerスタック(NSArray)を使用してアプリを設定する方法によって異なります。 –

+0

私はあなたがちょうどそこに言ったものでabitを失った。私はちょうどサブサブビューをポップしようとし、私はちょうどサブサブビューから呼び出されたdelegae内のサブビューをポップ..しかし、そのdidntの仕事。 :P ビューコントローラを別のものに渡して、ナビゲーションスタックのさらに下に移動しますか? –

関連する問題