2

JSONから返されたデータから入力されたキーと値のペアを持つ辞書があります。私がしたいのは、辞書を使用してUITableViewにデータを入力することです。

テーブルの構造は次のとおりです。

【商品名】【メーカー名】別

これが意味することは、キーが製品名で、値がメーカー名であることです。キーの名前と値の名前を取得する必要があります。これはどのように行うことができますか?forループなしで可能ですか?

4

4 に答える 4

5

メソッドを使用しenumerateKeysAndObjectsUsingBlock:ます。次のコードは、必要な文字列のリストを作成します。

NSMutableArray *names = [NSMutableArray array];

[dictionary enumerateKeysAndObjectsUsingBlock: ^(NSString *key, NSString *object, BOOL *stop) {
    [names addObject[NSString stringWithFormat:@"%@ By %@",key, object]];
}];
于 2013-02-06T04:57:03.383 に答える
4

keyEnumeratorofNSDictionaryおよび for each キーを使用して、値を検索できます。これは次のようになります。

for (NSString *p in dict)
{
    NSString *m = [dict objectForKey:p];
    // do something with (p,m)
}

for-loopsを回避することを心配する必要はありません。結局、forループのようなものは常に下のどこかで発生します。

于 2013-02-06T04:40:51.687 に答える
1
NSArray * keys = [results allKeys];

for (int i = 0;i<[keys count];c++){
 NSString* productName = [key objectAtIndex:i];
 NSString* manufacturerName = [results objectForKey:productName];
}

お役に立てれば...

名前は文字列と仮定していますが、状況に応じて型を変更できます..

于 2013-02-06T04:39:42.843 に答える
1

キーがjsonから動的である場合は、使用できます

 NSArray *keys = [dictionary allkeys];

次に、インデックス パス メソッドの行のテーブル ビュー セルで、テーブル ビューに対応するキーとその値を設定できます。

于 2013-02-06T04:37:00.860 に答える