OC-字典常用操作(NSDictionary、NSMutableDictionary)
2014-08-08 11:58
555 查看
字典是关键字及其定义的集合
NSDictionary能在给定得关键字key(通常是一个NSString字符串)下存储一个数值value(可以是任意类型的Objective-C对象),然后你就可以用这个关键字来查找相应的数据
字典(也被称为散列表或关键数组)使用的是键查询的优化方式,可以立即查找出查询的数据,而不需要遍历
NSString *f1 = @"one"; NSString *f2 = @"two"; NSString *f3 = @"three"; NSArray *key = @{@"1", @"2", @"3"}; NSString *value = @{@"one", @"two", @"three"}; //字典初始化的方法,一个key只有一个value,一个value可以有很多的key NSDictionary *f_nsd1 = [NSDictionary dictionaryWithObjectsAndKeys:f1, @"1", f2, @"2", f3, @"3" ,nil]; NSDictionary *f_nsd2 = @{@"11" : f1, @"22" : f2, @"33" : f3}; NSDictionary *f_nsdarr = [NSDictionary dictionaryWithObjects:value forKeys:key]; //获取字典数量 NSInteger count = [f_nsd1 count]; //取值,如果字典没有所查找数据返回nil值 NSString *f_key1 = [f_nsd1 objectForKey:@"1"]; NSString *f_key2 = f_nsd2[@"11"]; //排序 NSArray *arrs=[f_nsd1 keysSortedByValueUsingSelector:@selector(compare:)]; //获取所有key NSArray *keys = [f_nsd1 allKeys]; //获取所有Value NSArray *values = [f_nsd1 allValues];
[f_nsd1 = setValue:@"hello" forKey:@"attribute"];//添加键值对 <span style="font-family: Arial, Helvetica, sans-serif;"> [f_nsd1 = setValue:@"hell" forKey:@"attribute"];//更改键值对</span> //保存对象到内容文件 NSString *path=@"/Users/apple/Desktop/test.plist"; [f_nsd1 writeToFile:path atomically:YES]; //从以前保存的文件读取到字典对象 NSDictionary *data=[NSDictionary dictionaryWithContentsOfFile:path]; //可变字典 //向NSMutableDictionary 类发送dictionary消息,可以创建新的NSMutableDictionary对象 //也可以使用dictionaryWithCapacity:创建限制大小的可变数组 NSMutableDictionary *f_nsm = [NSMutableDictionary dictionary]; [f_nsm setObject:f1 forKey:@"111"]; [f_nsm setObject:f2 forKey:@"222"]; [f_nsm setObject:f3 forKey:@"333"]; //向字典里添加字典 NSDictionary *f_nsd3 = [NSDictionary dictionaryWithObjects:@"four" forKeys:@"444"]; [f_nsm addEntriesFromDictionary:f_nsd3]; [f_nsm removeObjectForKey:@"333"]; //从字典里删除单个key的value //删除一组key的value NSArray *arrkeys = [NSArray arrayWithObjects:@"222", @"333", nil]; [f_nsm removeObjectsForKeys:arrkeys]; //删除所有value [f_nsm removeAllObjects]; //快速枚举 for (id key in f_nsm) { NSString *object = [f_nsm objectForKey:key]; } //迭代枚举器 NSEnumerator *enumerator = [f_nsm keyEnumerator]; id key = [enumerator nextObject]; while (key) { id objects = [f_nsm objectForKey:key]; key = [enumerator nextObject]; } //与NSArray一样,没有适合NSMutableDictionary的字面量初始化语法
最后提醒各位一点,切记不要尝试创建NSString、NSArray、NSDictionary的子类
相关文章推荐
- OC-字典常用操作(NSDictionary、NSMutableDictionary)
- OC-字典常用操作(NSDictionary、NSMutableDictionary)
- [Objective-C]OC中字典基本概念和常用方法(NSDictionary和NSMutableDictionary)
- OC中字典基本概念和常用方法(NSDictionary和NSMutableDictionary)
- [Objective-C]OC中字典基本概念和常用方法(NSDictionary和NSMutableDictionary)
- 【Objective-C】OC中字典基本概念和常用方法(NSDictionary和NSMutableDictionary)
- [Objective-C]OC中字典基本概念和常用方法(NSDictionary和NSMutableDictionary)
- 【Objective-C】OC中字典基本概念和常用方法(NSDictionary和NSMutableDictionary)
- OC之字典(NSDictionary, NSMutableDictionary)
- OC基础—集合之NSSet、NSDictionary(字典)、NSMutableDictionary
- 【IOS 开发学习总结-OC-31】★★OC之foundation 框架——字典(NSDictionary 与 NSMutableDictionary)
- Objective-c的Foundation中常用类4——字典NSDictionary、NSMutableDictionary
- OC学习之道:OC对象,字典,集合的使用方法NSDictionary,NSMutableDictionary, NSSet,NSMutableSet,NSCountedSet
- NSDictionary(字典)、NSMutableDictionary(可变字典)、NSSet(集合)、NSMutableSet(可变集合)的常用方法
- 20150612_OC之字典NSDictionary及NSMutableDictionary
- OC 重点之NSArray(数组) NSDictionary不可变字典类与NSMutableDictionary 可变字典类 (概括)
- OC中字典NSDictionary和可变字典NSMutableDictionary<代码演示>
- NSMutableDictionary和NSDictionary的常用方法
- 黑马程序员 OC语言 - 9 NSDictionary、NSMutableDictionary、NSNumber、NSDate、NSValue