NSDictionary使用小结
2015-12-24 08:44
323 查看
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //创建字典 NSDictionary *dic1 = [NSDictionary dictionaryWithObject:@"value" forKey:@"key"]; NSLog(@"dic1 :%@", dic1); //创建多个字典 NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys: @"value1", @"key1", @"value2", @"key2", @"value3", @"key3", @"value4", @"key4", nil]; NSLog(@"dic2 :%@", dic2); //根据现有的字典创建字典 NSDictionary *dic3 = [NSDictionary dictionaryWithDictionary:dic2]; NSLog(@"dic3 :%@", dic3); //根据key获取value NSLog(@"key3 value :%@", [dic3 objectForKey:@"key3"]); //获取字典数量 NSLog(@"dic count :%d", dic3.count); //所有的键集合 NSArray *keys = [dic3 allKeys]; NSLog(@"keys :%@", keys); //所有值集合 NSArray *values = [dic3 allValues]; NSLog(@"values :%@", values); NSMutableDictionary *mutableDic = [[NSMutableDictionary alloc] initWithObjectsAndKeys: @"mvalue1", @"mkey1", @"mvalue2", @"mkey2", nil]; //添加现有的字典数据 [mutableDic addEntriesFromDictionary:dic3]; NSLog(@"mutableDic :%@",mutableDic); //添加新的键值对象 [mutableDic setValue:@"set1" forKey:@"setKey1"]; NSLog(@"set value for key :%@",mutableDic); //以新的字典数据覆盖旧的字典数据 [mutableDic setDictionary:dic2]; NSLog(@" set dictionary :%@",mutableDic); //根据key删除value [mutableDic removeObjectForKey:@"key1"]; NSLog(@"removeForkey :%@",mutableDic); //快速遍历 for(id key in mutableDic) { NSLog(@"key :%@ value :%@", key, [mutableDic objectForKey:key]); } //枚举遍历 NSEnumerator *enumerator = [mutableDic keyEnumerator]; id key = [enumerator nextObject]; while (key) { NSLog(@"enumerator :%@", [mutableDic objectForKey:key]); key = [enumerator nextObject]; } //根据key数组删除元素 [mutableDic removeObjectsForKeys:keys]; NSLog(@"removeObjectsForKeys :%@",mutableDic); [mutableDic removeAllObjects]; //删除所有元素 NSLog(@"remove all :%@", mutableDic); } return 0; }
日志:
<pre name="code" class="html"> dic1 :{ key = value; } dic2 :{ key1 = value1; key2 = value2; key3 = value3; key4 = value4; } dic3 :{ key1 = value1; key2 = value2; key3 = value3; key4 = value4; } key3 value :value3 dic count :4 keys :( key2, key3, key1, key4 ) values :( value2, value3, value1, value4 ) mutableDic :{ key1 = value1; key2 = value2; key3 = value3; key4 = value4; mkey1 = mvalue1; mkey2 = mvalue2; } set value for key :{ key1 = value1; key2 = value2; key3 = value3; key4 = value4; mkey1 = mvalue1; mkey2 = mvalue2; setKey1 = set1; } set dictionary :{ key1 = value1; key2 = value2; key3 = value3; key4 = value4; } removeForkey :{ key2 = value2; key3 = value3; key4 = value4; } key :key4 value :value4 key :key2 value :value2 key :key3 value :value3 enumerator :value4 enumerator :value2 enumerator :value3 removeObjectsForKeys :{ } remove all :{ }
相关文章推荐
- 获取到指定时间区间的月份集合,以及月份集合的月份第一天和最后一天
- linux命令大全
- 51nod 1455:宝石猎人
- 取消WIN2003开机按ctrl+alt+del和关机需要注释
- iOS中网络编辑
- gitflow
- PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
- ios 常见错误整理 持续更新
- zabbix------以自动添加tomcat端口的一条数据为例,了解low level discovery
- win7_oracle11g_64位连接32位PLSQL_Developer
- NSUserDefaults读取和写入自定义对象
- 数据挖掘(二)——Knn算法的java实现
- 重写和重载的区别小结
- 406 Not Acceptable
- 判断两线段是否相交
- php webservice应用
- mount命令使用具体解释(Linux)
- 看顶级高手如何编程--从带程序员新手想到的
- CSS样式表 超链接编辑
- 基于NSUserDefaults的数据存储