0

教えてください、どうすればこのようなものを作ることができますか?

たとえば、私はあなたのペットに関する情報を含むアプリを持っています。ただし、最初に、データベースにペットを追加する必要があります。特別なビューでは、ペットの名前、年齢、品種、色など(キー)を入力して保存します。これで、アプリに最初のペットができました。しかし、あなたは新しいペットを追加したいです...

これらすべての辞書を同じキーで保存するにはどうすればよいですか?ユーザーがアプリに追加したいペットの数がわからないため、辞書を作成する方法がわかりません。最も簡単な方法は何ですか?

ユーザーがアプリに何千匹ものペットを追加したい場合はどうなりますか?確かに、考えられるすべての動物のコードに何千もの辞書を作成するべきではありません。しかし、どうすればそれを行うことができますか?Deisyのdictionary1、Brunoのdictionary2、Hamletのdictionary3など。

4

2 に答える 2

4

これがどのように機能するかについての大まかな説明は次のとおりです。

そのペットを保持するためのコレクションをどこかに定義する必要があります。

NSMutableSet *myPets = [[NSMutableSet alloc] init];

ユーザーがデータを入力して保存ボタンを押すと、View Controller で何らかのメソッドが呼び出されます。そのメソッド内で、次のようにデータを収集します。

NSDictionary *pet = [NSDictionary dictionaryWithObjectsAndKeys:nameField.text, @"name", breedField.text,@"breed", nil];
[myPets addObject:pet];

この時点でpetは に入れられmyPets NSMutableSet、コンパイラはそれを解放するため、もう存在しません。次にユーザーがデータを入力してボタンをもう一度押すと、新しいpetが作成されて に配置されmyPetsます。何百万ものインスタンスが作成されることを心配する必要はありません。コンパイラが処理します。

後で個々のペットを取得したい場合は、次のようにすることができます

for (NSDictionary *aPet in myPets) {
   if ([[aPet objectForKey:@"name"] isEqualToString:@"Lassie"]) {
      // do what you want to do with Lassie
   }
}
于 2012-05-21T17:21:11.227 に答える
2

NSArrayを保持するにはが必要ですNSDictionaries

于 2012-05-21T17:31:03.353 に答える