天天看点

Object-c之不可变字典

//数组与字典 :都是容器,只能存放对象

  数组按顺序存放对象,字典中的对象是无序的

  在字典中可以通过key,快速找到该key所对应的value,

//创建字典  (在使用字典时,键一般式字符串,值可以是任意对象)

NSDictionary *dict = [[NSDictionary alloc]initWithObjectsAndKeys:@"one", @"1", @"two", @"2", @"three", @"3", nil];

NSDictionary *dict1 = [NSDictionary dictionaryWithObjectsAndKeys:@"one", @"1", @"two", @"2", @"three", @"3", nil];

NSLog(@"dict = %@",dict);

//输出 : dict = {1 = one;2 = two;3 = three;}

//遍历字典中的数据(获取字典的key)

for(id objin dict)

NSLog(@"obj = %@", obj);

//输出: obj = 1, obj = 2, obj = 3

//根据key取到字典中对应的值

NSString *valueStr = [dict objectForKey: @"1"];

NSLog(@"valueStr = %@",valueStr);

//输出: valueStr = one

//获取字典中所有的key

NSArray *keys = [dict allKeys];

NSLog(@"keys = %@", keys);

//输出 :keys = (1,2,3)

//获取字典中所有的values

NSArray *values = [dict allValues];

NSLog(@"values = %@", values);

//输出 : obj = one, obj = two, obj = three

for(id objin [dict allKeys])

NSLog(@"keys = %@, values = %@", obj, [dict objectForKey: obj]);

//输出 : keys = 1, values = one keys = 2, values = two keys =3, values = three

//取出key对应的枚举器

NSEnumerator *en = [dict keyEnumerator];

id obj1 = nil;

while (obj1 = [en nextObject]) {

NSLog(@"obj1 = %@", obj1);

}

//输出: obj = 1, obj = 2, obj = 3

继续阅读