コアデータは進むべき道ですが、学習曲線は急です。あなたはそれを学ぶためにかなりの時間を取っておかなければなりません。
あなたの目的にとってはるかに簡単でおそらく十分なのは、plistを操作することです。これらはApple固有のxmlファイルであり、非常に単純な構造になっています。それらはXcodeで直接編集でき、形式は非常に透過的です。
次に、plistからすべてのデータを一度にロードし、最初の選択に応じて2番目のピッカーにデータを入力できます。
または、JSONファイルを使用することもできます。これらはさらに単純であり、Webプログラマーとして、おそらくそれらに精通しているでしょう。
いくつかのヒント:
データは次の構造である必要があります。辞書の配列。各辞書には、ブランドのキーと、モデルのリストである別の配列のキーがあります。このサブ配列は、名前のキーを持つ辞書です(アプリで必要な場合はさらに多くなります)。
「Data.plist」というplistファイルを次のようにロードできます(JSONはアナログです)。
NSString *path = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"];
NSArray *data = [NSArray arrayWithContentsOfFile:path];
これで、次のようなブランドのリストを取得できます(ブランド名キーが「name」であると想定)。
NSArray *brands = [data valueForKeyPath:@"name"];
そして、ブランドのメーカーのリスト:
NSArray *models = [[[data filteredArrayUsingPredicate:[NSPredicate
predicateWithFormat:@"name = %@", @"Ford"]] objectAtIndex:0]
valueForKey:@"models"]);
最初のピッカービューの選択に反応するには、ビューコントローラーがピッカービューのデリゲートであることを確認し、オーバーライドしますpickerView:didSelectRow:inComponent:
。
tags
コールバックメソッドでピッカーを割り当ててチェックすることにより、これらのデリゲートメソッドでピッカーを区別できます。
これがあなたのplist構造の例です:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>name</key>
<string>Ford</string>
<key>models</key>
<array>
<string>Mustang</string>
<string>Capri</string>
</array>
</dict>
<dict>
<key>name</key>
<string>VW</string>
<key>models</key>
<array>
<string>Polo</string>
<string>Golf</string>
</array>
</dict>
</array>
</plist>
お役に立てれば。