您的位置:首页 > 移动开发 > Objective-C

iOS/Objective-C字典对象NSDictionary的使用20130608更新

2013-06-08 18:13 507 查看
个人整理转载请注明出处http://blog.csdn.net/rylt2011/article/details/9058421

dictionary是由建-对象对组成的数据集合,可通过对象的键从Objective–C词典中获取所需要的值(即对象)。
创建不可变字典
NSDictionary * dict = [[NSDictionary alloc]initWithObjectsAndKeys:@”one”,@”1”,@”two”,@”2”, @”three”,@”3”,nil];
字典的数据成员可以是任意的数据对象;成员必须是一些承兑出现的键值对;必须要成对的写:值(value)->键(key);key不能重复。
获取键值对的个数
[dict count];
得到所有的Value
NSArray * values = [dict allValues];
 
字典是无序存放的,存放的是对象的地址
如果字典只包含属性列表对象(NSData、NSDate、NSNumber、NSString、NSArray或NSDictionary)可以保持的文件中
NSString * path = [[[NSBundlemainBundle
] resourcePath ]  stringByAppendingPathComponent:@"dict.txt"];
BOOL suc = [dict writeToFile:path atomically: YES];
 
使用字典存储从文件中读取的内容
NSDictionary * dict2 = [NSDictionary dictionaryWithContentsOfFile: path];
 
创建一个key的枚举器
NSEnumerator * enumer1 = [dict keyEnumerator];
id key;
while(key = [enumer1 nextObject])
{
     NSLog(“key =%@”,key);
}
 
快速枚举
for(id key in dict){
     NSLog(@”key= %@”,key);
}
 
可变字典
NSMutableDictionary * dict = [NSMutableDictionaryalloc]initWithObjectsAndKeys:@”one”, @”1”, @”two”, @”2”, @”three”, @”3”,nil];
 
增加/修改字典中的键值对
[dict setObject:@”four” forKey:@”4”];
通过key删除键值对
[dict removeObjectForKey:@”1”];
 
删除多个对象
NSArray * keyArray=[NSArray arrayWithObjects:@”one”,@”two”,nil];
[dict removebjectForKey:keyArray];
 
删除全部键值对
[dict removeAllObjects];
 
常用的NSDictionary方法
使用键-对象{key1,obj1}、{key2,obj2}…创建词典
+(id)dictionaryObjectsAndKeys:obj1,key1,obj2,key2,…,nil
 
将新分配的词典初始化为键-对象对{key1,obje1}{key2,obj2}…
-(id)initWithObjectsAndKeys:obj1,key1,obj2,key2,…,nil
 
返回词典中的记录数
-(unsigned int)count
 
为词典中所有键返回一个NSEnumerator对象
-(NSEnumerator *)keyEnumerator
返回词典中的键数组,它根据selector指定的比较方法进行了排序
-(NSArray *)keysortedByValueUsingSelector:(SEL)selector
 
为字典中的所有值返回一个NSEnumerator对象
-(NSEnuerator *)objectEnumerator
 
返回指定key对象
-(id)objectForkey:key
 
常用的NSMutableArray方法
使用一个初始指定的size创建可变字典
+(id)dictionaryWithCapacity:size
 
将新分配的词典初始化为指定的size
-(id)initWithCapacity:size
 
删除词典中所有的记录
-(void)removellObjects
 
删除词典中指定key对应的记录
-(void)removebjectForKey:key
 
向词典为key添加obj,如果key 已存在,则替换该值
-(void)setObject:obj
ForKey:key
 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐