NSArray的使用对象IOS

问题描述:

我要创建阵列,如:NSArray的使用对象IOS

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

在这里,我有name阵列和阵列Quantity

我如何创建这种类型的数组或字典的?

+0

是不是JSON符号系统?如果是的话,应该使用SBJSon来解析这种类型的数据。 – 2013-02-26 14:31:51

这是aarray的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]; 
+2

'的setValue:forKey:'是不是NSDictionary'的'一部分,但'NSMutableDictionary' – Martin 2013-02-26 07:38:43

+0

@上martin-烨...üR右了我的错误..感谢很多关于通知我:) – iPatel 2013-02-26 07:46:42

检查:

NSArray

NSDictionary

例如:

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

NSArray * a = [NSArray arrayWithObjects:d1, d2, d3, ..., nil]; 
+0

您的DIC的键和值是错误的命令。这应该是这样的[NSDictionary的dictionaryWithObjectAndKeys:@ “20130201064350_01.jpg”,@ “姓名”,[NSNumber的numberWithInt:2],@ “量”,零]。 – 2013-02-26 07:29:06

+0

哎呀,编辑... – Martin 2013-02-26 07:35:40

使用新的语法,这简直是:

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

(即非常简单,只是把@结构的前面,你的问题)。

NSArray *array = @[ @{ "name":"20130201064350_01.jpg", "quantity":"2" }, @{"name":"20130201064350_02.jpg", "quantity":"1"} ]; 
//These are new literals 

如果同时Quantityname数组相等,则计数。运行一个用于与任何一个阵列的循环,并将其添加上NSDictionary并添加到dicitonary 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);