3

次の方法がよくわかりません。

たとえば、著者とタイトル(キー、値)を辞書に追加したい場合。その辞書にデータを入力してから、たとえばk=ジャンルv=アーティスト名などの別の辞書を作成し、データを入力します。

次に、辞書を配列に追加します。

まず、それはどのように行われますか?次に、ユーザーが自分のエントリをログに記録できるようにした場合はどうなりますか。したがって、画面上のテキストフィールドを作成する必要があります。ユーザーが完了すると、フィールドはキーと値のペアとして新しい辞書(ユーザーの辞書など)に格納されます。

後でユーザーが入力したデータでテーブルビューを埋めようとしたときに何をしますか?その辞書のキーまたは値がわからないので、どうすればそのデータを取得できますか?

つまり、配列インデックス2からユーザーの辞書をロードし、テーブルビューのセルに各辞書エントリを入力したい場合、これはどのように行われますか?たぶん、配列のようなメソッド(インデックスblah blahでentry.titleを取得)、辞書のKey値を取得しますか?

他にどのようにして、ユーザーが入力したデータを実際に取得して、値を認識していないのでしょうか。

よろしく

4

2 に答える 2

8

著者とタイトルを辞書に追加します(それらがすでに存在するオブジェクトであると仮定します-NSStringあなたの場合はインスタンスである可能性があります):

NSMutableDictionary *books = [[NSMutableDictionary alloc] initWithCapacity:10];
[books setObject:title forKey:author];

ジャンル/アーティストについても同じです:

NSMutableDictionary *music = [[NSMutableDictionary alloc] initWithCapacity:10];
[books setObject:artist forKey:genre];

次に、それらを配列に入れます。

NSArray *theArray = [NSArray arrayWithObjects:books, music, nil];

次に、配列インデックス2の内容を読み取ります。

id key;
NSDictionary *theDictionary = [theArray objectAtIndex:2];
id value;
for (key in [theDictionary allKeys])
{
    value = [theDictionary objectForKey:key];
    // do something with the value
}
于 2010-07-08T16:38:39.850 に答える
3

allKeysを使用して、ディクショナリ内のキーのNSArrayを取得できます。次に、objectForKeyを使用して値を取得できます。

for (id key in [myDict allKeys]) {
    NSLog(@"key: %@, value: %@", key, [dictionary objectForKey:key]);
}
于 2010-07-08T16:32:53.353 に答える