2012-04-26 12 views
0

私は2つのViewControllerを持っています。最初の配列には値を含む配列が含まれ、表示されます。 2番目の方法は、配列に追加する列を選択することを可能にするピッカービュー(モーダルビューコントローラ)です(ボタン "ADD"を使用)。 しかし、IBaction関数と配列が同じコントローラにないため、ユーザーが "ADD"ボタンをクリックして配列を更新するときに、イベントを取得する方法がわかりません。他のビューコントローラからイベントを取得

ありがとうございました。

答えて

0

このような状況では、プロトコルが役立ちます。

プロトコルは、単にクラス定義に関連付けられていないメソッド宣言のリストです。

プロトコルは多くのシナリオで役立ちます。一般的な使用法は、他のクラスによって実装されるメソッドを定義することです。使い慣れた例は、テーブルビューを使用するときに、クラスがcellForRowAtIndexPathメソッドを実装して、テーブルに挿入するセルコンテンツを要求します。cellForRowAtIndexPathメソッドはUITableViewDataSourceプロトコルで定義されています。

Simple objective-c protocol example

0

あなたは追加ボタンを押したときにも、一つのローカル変数を渡すことができ、その後、あなたは、テーブルビューで、あなたの配列をリロードします。

あなたはsimulaorにフィールドを追加する機能を追加したいと思うと思います。

ようこそ。

+0

最後に私はNSNotificationを使用し、結果は非常に良いです。 – Grossiste

+0

あなたの早い回答をありがとう! – Grossiste

0

私はあなたがボタンイベント(IBAction)に第2のビューコントローラにアクセスする最初のビューコントローラ内の配列を持っている、と考えて:

このようなパラメータとして配列を持つsecondviewcontrollerのメソッドを作成します。

-(void)methodname:(nsmutablearray *)array; 

最初のビューコントローラで上記のメソッドを呼び出して、あなたがそれを初期化することによって第2のビューコントローラに移動したときに、この方法では、あなたの配列を渡します。

したがって、2番目のビューコントローラでは、さらに使用できる塗りつぶしの配列が得られます。

関連する問題