如何使用字符串初始化数组,其中键为字符串,值为布尔值。这样的事情
array = @[@{@"fieldX": @FALSE, @"fieldY": @FALSE},@{@"fieldX": @FALSE, @"fieldY": @FALSE} ];
但我不明白什么是关键,什么是上面的价值。
答案 0 :(得分:1)
你可以这样做:
NSArray *array = @[
@{
@"fieldX" : @(NO),
@"fieldY" : @(NO)
},
@{
@"fieldX" : @(NO),
@"fieldY" : @(NO)
}
];
BOOL secondFieldX = [[array[1] valueForKey:@"fieldY"] boolValue];
无论如何,您可以使用模型对象代替字典,但这是另一个故事。
答案 1 :(得分:0)
你可以试试这个......
array_office_list=[[NSMutableArray alloc] initWithCapacity:0];
for (int i=0;i<4;i++) {
NSMutableDictionary *dict=[[[NSMutableDictionary alloc] init] autorelease];
if (i==0) {
[dict setObject:@"" forKey:@"name"];
[dict setObject:@"" forKey:@"address"];
[dict setObject:@"" forKey:@"phone"];
[dict setObject:@"" forKey:@"email"];
[array_office_list addObject:dict];
}
if (i==1) {
[dict setObject:@"" forKey:@"name"];
[dict setObject:@"" forKey:@"address"];
[dict setObject:@"" forKey:@"phone"];
[dict setObject:@"" forKey:@"email"];
[array_office_list addObject:dict];
}
if (i==2) {
[dict setObject:@"" forKey:@"name"];
[dict setObject:@"" forKey:@"address"];
[dict setObject:@"" forKey:@"phone"];
[dict setObject:@"" forKey:@"email"];
[array_office_list addObject:dict];
}
if (i==3) {
[dict setObject:@"" forKey:@"name"];
[dict setObject:@"" forKey:@"address"];
[dict setObject:@"" forKey:@"phone"];
[dict setObject:@"" forKey:@"email"];
[array_office_list addObject:dict];
}
}
答案 2 :(得分:0)
您已创建一个包含2个NSDictionaries的数组。
这是使用上述语法创建NSDictionary的方式:@{key:value , key:value , key:value}
这是使用上述语法创建NSArray的方式:@[object , object , object]
在你的例子中。
第一个NSDictionary有两个键:fieldX
和fieldY
,两者的BOOL值均为NO / FALSE
第二个NSDictonary具有相同的键值。
答案 3 :(得分:0)
您可以使用
+[NSDictionary dictionaryWithObjects:(NSArray *)objects forKeys:(NSArray *)keys];
从数组初始化字典......
如果你想从字典中获取所有键或值,你可以这样做
NSArray *keys = [dict allKeys];
NSArray *values = [dict allValues];
如果需要,可以使用它来创建包含组合的新数组。