IOS笔记之字典

167 阅读1分钟

字典存储的内容不是连续的,用key和value进行对应。

1.字典初始化
NSDictionary *dict1 = [NSDictionary dictionaryWithObject:@"value" forKey:@"key"];
NSLog(@"dict1 = %@",dict1);

NSDictionary *dict2 = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"value1",@"value2", nil ]forKeys:[NSArray arrayWithObjects:@"key1",@"key2", nil] ];
NSLog(@"dict2=%@",dict2);


NSDictionary *dict3 = @{@"key":@"value",@"key1":@"value1"};
NSLog(@"dict3=%@",dict3);
2.长度
int count = (int)[dict1 count];
3.取值
//取值
NSString *value = [dict1 objectForKey:@"key"];
NSLog(@"value= %@",value);
NSString *value1 =[dict3 valueForKey:@"key1"];
NSLog(@"value1 =%@",value1);
//取出所有值
NSArray *array = [dict3 allValues];
NSLog(@"allvalues =%@",array);

//取出所有key
[dict3 allKeys];

NSArray *values = [dict3 objectsForKeys:[NSArray arrayWithObjects:@"key",@"1", nil] notFoundMarker:@"not found"];
NSLog(@"values = %@",values);
4.遍历
//for循环遍历
for (NSString *key in dict3) {
 NSLog(@"%@=%@",key,[dict3 objectForKey:key]);
}

//迭代遍历
NSEnumerator *en = [dict3 keyEnumerator];
 id key1 = nil;
 while (key1 = [en nextObject]) {
 NSLog(@"key-%@",key1);
}