-4

私は次のような配列を作成する必要があります:

photos:[
      {
         "name":"20130201064350_01.jpg",
         "quantity":"2"
      },
      {
         "name":"20130201064350_02.jpg",
         "quantity":"1"
      }
   ]

ここに、name配列とQuantity配列があります。

このタイプの配列または辞書を作成するにはどうすればよいですか?

4

5 に答える 5

0

新しい構文を使用すると、これは単純に次のようになります。

NSArray *photos = @[
      @{
         @"name":@"20130201064350_01.jpg",
         @"quantity":@"2"
      },
      @{
         @"name":@"20130201064350_02.jpg",
         @"quantity":@"1"
      }
   ];

@(つまり、質問の構造の前に置くだけです)。

于 2013-02-26T07:29:47.640 に答える
0
NSArray *array = @[ @{ "name":"20130201064350_01.jpg", "quantity":"2" }, @{"name":"20130201064350_02.jpg", "quantity":"1"} ];
//These are new literals
于 2013-02-26T07:32:14.203 に答える
0

の配列ですNSMutableDictionary

NSMutableDictionary *dic1 = [[NSMutableDictionary alloc] init];
[dic1 setValue:@"20130201064350_01.jpg" forKey:@"name"];
[dic1 setValue:@"2" forKey:@"quantity"];

NSMutableDictionary *dicn = [[NSMutableDictionary alloc] init];
[dicn setValue:@"n.jpg" forKey:@"name"];
[dicn setValue:@"n" forKey:@"quantity"];

// そして NSArray へ

NSArray *myArray = [NSArray arrayWithObject:dic1, dic2, ........dicn, nil];
于 2013-02-26T07:33:15.643 に答える
0

Quantityと配列の両方nameが等しい場合はカウント。1 つの配列のいずれかで for ループを実行し、それをNSDictionary追加して、その辞書を に追加しNSMutableArrayます。

元:

 quantityArray = [NSArray arrayWithObjects:quantity1, quantity2, quantity3, ..., nil];

 namesArray = [NSArray arrayWithObjects:name1, name2, name3, ..., nil];

 NSMutableArray *mainArray = [[NSMUtableArray alloc] init];

 for (int i = 0; i < [namesArray count]; i++) {

 NSDictionary* dicitonary = [NSDictionary dictionaryWithObjectAndKeys:[namesArray objectAtIndex:i], [quantityArray objectAtIndex:i], nil];
   [mainArray addObject:dicitonary];
 }

 NSLog(@"mainArray = %@", mainArray);
于 2013-02-26T07:39:19.400 に答える
-1

小切手 :

NSArray

NSDictionary

例えば ​​:

NSDictionary * d1 = [NSDictionary dictionaryWithObjectAndKeys:@"20130201064350_01.jpg", @"name", [NSNumber numberWithInt:2], @"quantity", nil];

NSArray * a = [NSArray arrayWithObjects:d1, d2, d3, ..., nil];
于 2013-02-26T07:22:51.067 に答える