Objective-C之字典

//字典:(关键字 值)

//插入代码字太小

// NSArray *array = [NSArray array];//空数组

// NSDictionary *dictionary = [NSDictionary dictionary];//空字典

NSDictionary *my = [NSDictionary dictionaryWithObject:@"objective" forKey:@"key"];

NSLog(@"%@",my);

NSDictionary *to = [NSDictionary dictionaryWithObjectsAndKeys:@"123",@"abc",@"456",@"efg" ,nil];//创建包含多个值的字典

NSLog(@"%@",to);

NSDictionary *me = @{

@"a":@"1",

@"b":@"2"

};

NSLog(@"%@,%li",me,me.count);

NSString *s = [me objectForKey:@"a"];//键值对应的对象

NSString *ss = me[@"b"];//跟数组差不多

NSLog(@"%@,%@",ss,s);

// NSArray *keyArr = [me allKeys];

// for(NSString *key in keyArr)

// {

// NSLog(@"%@ = %@",key,me[key]);

// }

NSDictionary *niubi = [NSDictionary dictionaryWithObjectsAndKeys:@"liyuanfang",@"direnjie",@"Moran ",@"fuermosi",@"kenanfushou",@"kenan" ,nil];//创建包含多个值的字典

NSArray *keyArr = [niubi allKeys];//取字典中的所有键值

for(NSString *key in keyArr)

{

NSLog(@"%@问%@这事你怎么看?",key,niubi[key]);

}

/**********************************************************************************/

//取出字典中所有的值

NSArray *valueArr = [me allValues];

NSLog(@"取字典中的所有键对应的值%@",valueArr);

//字典既然存在,那么开发者肯定想到要方便的使用它

//然而就有了,可以独立取出键或值的方法:allKeys和allValues

//因为他们是数组属性,所以需要放到新建的数组对象中

//枚举器中OC语言中一个遍历的有效方法,

//应用时,一般先通过.....Enumerator获取枚举器,存放到其对应的类型NSEnumerator对象中

//这个对象会有一个自动向下遍历的方法nextObject

//先获取字典中key的枚举器,然后遍历该枚举器,获取key对应的值

NSEnumerator *e = [me keyEnumerator];

id obj;

while (obj = [e nextObject]) {

NSLog(@"%@ = %@",obj,me[obj]);

}

//获取value对应的枚举器

NSEnumerator *a = [me objectEnumerator];

while(obj = [a nextObject])

{

NSLog(@"%@",obj);

}

//键和对象列举块,stop代表遍历停止

[me enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {

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

}];