NSArray的使用对象IOS
我要创建阵列,如:NSArray的使用对象IOS
photos:[
{
"name":"20130201064350_01.jpg",
"quantity":"2"
},
{
"name":"20130201064350_02.jpg",
"quantity":"1"
}
]
在这里,我有name
阵列和阵列Quantity
。
我如何创建这种类型的数组或字典的?
这是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];
检查:
例如:
NSDictionary * d1 = [NSDictionary dictionaryWithObjectAndKeys:@"20130201064350_01.jpg", @"name", [NSNumber numberWithInt:2], @"quantity", nil];
NSArray * a = [NSArray arrayWithObjects:d1, d2, d3, ..., nil];
您的DIC的键和值是错误的命令。这应该是这样的[NSDictionary的dictionaryWithObjectAndKeys:@ “20130201064350_01.jpg”,@ “姓名”,[NSNumber的numberWithInt:2],@ “量”,零]。 – 2013-02-26 07:29:06
哎呀,编辑... – 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
如果同时Quantity
和name
数组相等,则计数。运行一个用于与任何一个阵列的循环,并将其添加上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);
是不是JSON符号系统?如果是的话,应该使用SBJSon来解析这种类型的数据。 – 2013-02-26 14:31:51