标签:
数组:对象的引用
字典:键值对。
键Key 值value
name Peter
age 20
2015001 student 对象
通过检查找值
一、认识字典
储存的是 键值对
name:****、
age:***
id:****
王小二18、001
name:王小二
age:18
id:001
【注】字典面向过程语言中的数据类型。字典是面向对象语言所特有的。
【NSDictionary】不可变字典,字典一旦创建好就不可以对字典的内容做任何更改,不可添加键值对,不可以删除键值对
1.创建字典
(1)NSDictionary*dict = [[NSDictionary alloc]initWithObjectAndKeys:@"1",@"one",@"2",@"two",@"3",@"three",nil];
(2)NSDictionary *dict2= [NSDictionary dictionaryWithDIctionary:dict];
(3)通过存放的数组与存放值的数组来创建字典
NSArray *keys =@[@"1",@“2”,@"3",@"4"];
NSArray *values = @[@"one",@"two",@"three",@"four"];
NSDictionary *dict3 = [[NSDictionary alloc]initWithObjects:values forkeys:keys];
(4)Xcode新版本中添加的方法
NSDictionary *dict= @{@"name":@"王小二",@“age”:@"18"};
[注]
1.字典中存放的是键值对。
2.@“one”:@"1",@"one"--key @"1"--valaue。
3.键值对中的键 不可以重复,不可以为空,通常将字符串作为键。
4.字典中的键值没有顺序可言。
2、键值对的个数
[dict count];
3、根据key取value
[ios1555 objectForkey:@"name19"];
4、根据key取所有的value
NSArray *array3 = [dict allkeyForObject:@"one"];
5、获取所有的key所有的value
NSArray *array1=[IOS1555 allkeys];
NSArray *array2= [IOS1555 allvalue];
6、遍历字典
(1)枚举器
NSEnumerator *keyEnume = [IOS1555 keyEnumerator];
id obj;
while(obj = [keyEnume nextObject])
{
NSLog(@"%@ %@ ",obj2,[ios1555 objectForKey:obj2]);
}
for循环
for循环遍历字典
NSArray *keyArr2 = [ios1555 allkeys];
for(int i =0;i<[keyArr2 count];i++)
{
NSLog(@"%@:%@",keyArr2[i],[ios1555 objectForKey:keyArr2[i]]);
}
[NSMutableDictionary]可变字典,字典的内容是可以修改的,可以对字典进行增、删、重置等操作。
【注】凡是适用于NSDictionary 的方法都可以使用于NSMutableDictionary;
凡是要传NSDictionary参数方法,都可以传入NSMutableDictionary类型的参数
1、重置字典
[mutableDict setDictionary:@{@"1":@“one”,@"2":@"two"}];
2、增
[mutableDict setObject:@“hehe” forkey:@“one”];
【注】如果key不存在,添加键值对;如果key存在,修改key所对的value。
3、删
[mutable removeObjectForkey:@"one"];
[mutable removeAllObjects];
标签:
原文地址:http://www.cnblogs.com/Jackyxiang/p/4970463.html