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

Objective_C基础之NSDictionary整理

2015-11-11 23:30 393 查看
♠字典的创建

NSDictionary*dict1=[NSDictionarydictionaryWithObjectsAndKeys:@"101", @"113",nil]; //113是键,101是值
 
♠创建字典新方法
NSDictionary* dict2 =@{@"101":@"102",@"103":@"104"}; //101和103是键,102和104是对应的值
 
♠创建可变字典
[NSMutableDictionarydictionary] //创建一个空的可变字典
 
♠打印键值对个数
NSLog(@"%lu",[dict2 count]);  //输出字典dict2的键值对个数
NSLog(@"%lu",dict2.count);   //和上一行效果一样
 
♠取指定键的值
NSLog(@"%@",[dict2objectForKey:@"101"]); //取字典中101(这个键)对应的值
 
♠得到一个字典中全部的键
NSArray* keys = [dict2 allKeys]; //把字典dict2中全部的键赋值到数组keys中
 
♠得到一个字典中全部的值
NSArray* values = [dict2 allValues]; //把字典dict2中全部的值赋值到数组values中
 
♠字典的遍历(1.根据键的数字遍历值)
for (NSString * key in keys) // keys中已经得到了字典dict2中所有的键
{
    NSLog(@"%@   %@",key,dict2[key]); //输出字典dict2中所有的键和值
}
 
♠字典的遍历(2.枚举器)
NSEnumerator * keyEnumator = [dict2 keyEnumerator];//得到字典dict2中键的枚举器
NSString * key;
while (key = [keyEnumator next Object])  //一直寻找字典dict2中所有的键
{
     NSLog(@"%@  %@",key,dict2[key]);
}
 
♠根据字典的键进行排序
NSArray * result = [dict2 keysSortedByValueUsingSelector:@selector(compare:)];
//compare是已经写好的比较函数
NSLog(@"%@",result);
/////对比上下字典排序和数组排序的关系////////
NSArray *sortedPersons =[person sortedArrayUsingSelector:@selector(compare:)];
//compare同样是已经写好的比较函数
NSLog(@"%@",sortedPersons);
 
♠创建可变字典
NSMutableDictionary * dict = [[NSMutableDictionary alloc] init]; //和下面等价
NSMutableDictionary * dict = [NSMutableDictionarydictionaryWithCapacity:0];
 
♠设置键值对
[dict setDictionary:@{@"101":@"tom",@"102":@"jerry"}]; //设置dict字典中键101和键102的值分别为tom和jerry
 
♠插入键值对(针对可变字典)
[dict setObject:@"zhangsan" forKey:@"103"]; 在字典dict中增加了键103和值zhangsan
 
♠修改字典键的值
[dict setObject:@"lisi" forKey:@"101"];  //把键101的值设置为lisi(原来是其他值)
 
♠删除键值
[dict removeObjectForKey:@"103"]; //删除字典dict中键103这个键值对
[dict removeAllObjects]; //删除字典dict中全部键值对
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS NSDictionary