0

UITableViewさて、私はとを持っていUINavigationControllerますUIBarButtonSystemItemAdd。追加ボタンを押すと、ユーザーはいくつかのフィールドを持つ新しいビューに移動します。ユーザーがこれらのフィールドに入力した情報を取得して、テーブルビューに表示できるようにしたいと思います。ユーザーがそれらのアイテムを好きなだけ追加できるようにしたいと思います。

考えてみると、連絡先アプリのようなものです。ユーザーが連絡先に入力し、メインリストに戻ると、新しい連絡先がそこにあります。

これを行うための最良の方法は何ですか。NSUserDefaultsたくさん試してみましarraysたが、それは本当に面倒になりました。ありがとう。

4

3 に答える 3

1

私がこれを処理することを考えることができるいくつかの方法。最も簡単で最良の方法は、iPhoneの連絡先アプリのように、ビューコントローラをプッシュするのではなく、モデルプレゼンテーションを使用することです。そうすれば、テーブルビュービューコントローラーで必要なすべてのデータにアクセスできます。データをやり取りする必要はありません。ユーザーがビューコントローラーの作成を終了すると、モデルビューは閉じられ、テーブルビューから追加できます。開発者向けドキュメント:http ://developer.apple.com/library/ios/ipad/#featuredarticles/ViewControllerPGforiPhoneOS/AboutViewControllers/AboutViewControllers.html%23//apple_ref/doc/uid/TP40007457-CH112-SW16

于 2011-06-14T03:15:13.010 に答える
0

NSUserDefaultsを適切に使用しましたか?このように使用します。

1つのクラスで:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]
[prefs setInteger:1 forKey:@"integerKey"];

別のクラス:

 NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
 NSInteger myInt = [prefs integerForKey:@"integerKey"];

//Now myInt has the value 1.

NSNotificationを使用して、NSDictionaryタイプを渡すこともできます。

NSDictionary *info = [NSDictionary dictionaryWithObject:@"Brad Pitt" forKey:@"User Name"];


[[NSNotificationCenter defaultCenter] postNotificationName:@"UserNameNotification" object:self userInfo:info];

次に、オブザーバーを追加して、対応するセレクターのメソッドを記述できます。

于 2011-06-14T03:06:10.843 に答える
0

最良の方法は、UIControllerのモデル表示スタイルです。ユーザーがビューを閉じると、テーブルビューはデリゲートメソッドによって通知され、テーブルビューにそのデータを追加できます。

モデルビュースタイルを使用したくない場合は、NSUserDefaultを使用できます。

 Thats what I was trying to do, but the user could ultimatly enter in hunderds of data.

あなたはそれについて考える必要はありませんuがすべきことはあなたが最初にNSUserDefaultをリセットすることです。次に、すべてのデータをNSUserDefaultに保存し、テーブルビューからそのデータを取得します。

[NSUserDefaults resetStandardUserDefaults];

もう1つできることは、Delegateで変数を作成し、その中にデータを保存して、テーブルビューで取得することです。しかし、私はあなたがこれをすることをお勧めしません。

于 2011-06-14T04:45:10.223 に答える