2012-04-06 2 views
0

私はこの例では、データベースからデータを読み込み、配列に入れてソートし、RootViewControllerを使って表示しています。 RVCコードの前にDB読み込みと配列ロードが発生します。それで、それはうまくいきます、私はRVCによって作成されたウィンドウ内のデータを取得し、そこにnavコントローラもあります。RootViewControllerは、データ配列xcodeを再作成/リロードする必要があります。4.3

ヒットしたときにRootViewController.mファイルに値を送り返し、その値に基づいて配列を整理して表示するように、ボタンコントローラーにボタンなどを追加したい再びRootViewControllerウィンドウに表示されます。

私はこれを行う方法がわかりません。 .xibファイルとRootViewController.mファイルにどのような変更を加える必要がありますか?

私は混乱した鼻です。 %-0ありがとうございました。

答えて

0

これにはかなりの量があるので、私はいくつかの一般的な点について説明し、問題のいずれかが問題を引き起こす場合は、細部を細かく調整する方が簡単かもしれません。

RVCのviewDidLoadメソッドでは、ボタンを作成してコントローラのnavigationItemの右ボタンまたは左ボタンとして設定できます。

ボタンをタップしたときに必要な操作を行うことができるコントローラのメソッドに、そのボタンのタップを関連付けることができます。

配列の内容が表示されている場合は、RVCにテーブルビューがあると仮定します。そのため、配列(変更可能配列、私は)再ソートされていると思います、あなたはそのデータをリロードするためにテーブルビューを伝えることができます。あなたの二次の質問への答えで

+0

ありがとうございました。私は複数のボタン/タブを使用することができます。それらは並べ替えることができる列名になります。したがって、それらを区別できる限り、必ずしも値を送信する必要はありません。ありがとう!テーブルビューに関係する限り、それはxibにはなく、RVCでプログラム的に作成されているので、行を表示し、行をタップし、詳細を表示します。私の入札。だから、RVCウィンドウのアクションに基づいて配列をソートすると仮定すると、ちょうど私はテーブルビューにデータをリロードするよう指示しますか? – Piwacket

+0

IBのnavコントローラのフッタセクションにボタンバーボタンをドラッグすることは、私がやったことです私はそれをRVCであるファイル所有者に接続しました。合成bButton1があります。実装とアクションで - (IBAction)buttonPressed:(id)sender { NSLog(@ "howdy doody"); } 。インターフェイス内で:プロパティ(強、非原子)UIBarButtonItem * bButton1; - [UIApplication buttonPressed:]:インスタンスに送信された認識できないセレクタ – Piwacket

+0

エラーは、ボタンのアクションをRVCではなくUIApplicationオブジェクトに接続したことを示しています。私はそれがなぜであるかわからないが、ファイルの所有者に設定されているアイデンティティを再確認する。 –

0

、あなたの配列を頼って(あるいはあなたが望むしかし、一般的に、あなたのデータを更新)したら、プログラム

「のtableView」のインスタンスである
[tableView reloadData]; 

をリロードするテーブルビューを強制することができますテーブルビューを指す変数

+0

ありがとうございます。 I * THINK * [self.tableView reloadData]と言ってこれを行いました。しかし、私は確信していない、私はいくつかのNSLogのstmtsを入れ、それはviewDidLoadを再実行しない...reloadDataはviewDidLoadを再実行させますか?私はそれがボタンのアクションルーチンにログステートメントのためになっていることを知っていますが、それはstmtの直後にreloadDataをしようとすると起こらないようです。お知らせ下さい。前もって感謝します。そして幸せなイースター。 – Piwacket

+0

いいえ、reloadDataは、tableViewデータソースのみを更新します。これを見たい場合は、NSLogステートメントを置くか、中にブレークすることができます: ** - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath ** これはviewDidLoad再実行する。 – MobileVet

+0

Piwacket、ちょうどフレンドリーなメモ。フィリップと私はどちらもあなたに助けをしてくれました。正しい答えをマークし、潜在的にそれらをアップアップすることが適切です。 – MobileVet

関連する問題