NSDictionary 字典类

 字典是以键值对的形式存储数据的   key value  .    字典和数组都可以相互存储

1:创建字典,不可变的

NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"zhong",@"name",nil];

NSLog(@"dic %@",dic);  //   dic{  name= zhong;}


2:快捷创建方式

NSDictionary *dic2 = @{@"name":@"zhong",@"year":@"22"};

NSLog(@"dic2 %@",dic2);  //   dic2{  name= zhong;year=22;}


3:字典中可以存储任意数据类型,输出的顺序不是自然顺序

NSArray *array = @[@"one",@"two"];


NSDictionary *dic3 = @{

                                       @"one":@"1",

                                       @"num":[NSNumber numberWithInt:10],

                                       @"dic":dic

                                       @"ar1":array

                                       };

NSLog(@"dic3  %@",dic3);  //  dic3{   dic = {  name= zhong;};   ar1=(one,two);  num=10;one=1;  }


4:获得字典的长度,指的是存储的key的个数,即对象个数

NSLog(@"count %d",[dic3 count]);  //NSLog(@"count %d",dic3.count);


5:从字典中取值

NSString *str = [dic3 objectForKey:@"one"];   //  1

NSDictionary *dicTmp = [dic3 objectForKey:@"dic"];   //  {name=zhong;}

NSArray *arrayTmp = [dic3 objectForKey:@"ar1"];      //  (one,two)


6遍历字典

//取出所有的key值

NSArray  *allkeys = [dic3 allkeys];   //(one,num,dic,ar1)


 for(int i = 0;i<allkeys.count;i++)

{

    NSString *key  = [ allkeys objectAtIndex:i];


   //如果字典中存储了多种不同的类型,那么最好用id类型去接收它

   id  obj  = [dic3 objectWithKey:key];


   NSLog(@"obj %@",obj);  // obj 1   obj  10   obj  {name=zhong;}   obj (one,two)

}


 7:枚举器遍历

NSEnumerator *enumerator  = [dic3 objectEnumerator];

id value;

while(value = [enumerator nextObject])

{     NSLog(@"value  %@",value);   // value 1   value  10   value  {name=zhong;}   value (one,two)

}


8:可变字典


 //创建一个可变长度字典

NSMutableDictionary *muDic = [[NDMutableDictionary  alloc]initWithCapacity:0];


//向字典中存储数据 

[muDic  setObject:@"1"   forKey:@"one"];

[muDic  setObject:@"2"   forKey:@"two"];

[muDic  setObject:@"3"   forKey:@"three"];


//删除

[muDic  removeObjectForKey:@"key"];


//全部删除

[muDic  removeAllObjects];


//向字典中存储对象

和前面创建Person对象一样,就不多说了,直接应用

Person *p1 = [[Person alloc] initWithName:@"zhong" andAge:@"22"];

Person *p2 = [[Person alloc] initWithName:@"tang" andAge:@"20"];

Person *p3 = [[Person alloc] initWithName:@"lili" andAge:@"30"];


[muDic setObject:p1 forKey:@"d1"];

[muDic setObject:p2 forKey:@"d2"];

[muDic setObject:p3 forKey:@"d3"];

//在向字典中存储数据的时候,一定要保证key值是唯一的

//[muDic setObject:p3 forKey:@"d3"];

//[muDic setObject:p3 forKey:@"d3"];

//[muDic setObject:p3 forKey:@"d3"];


//使用for 循环遍历可变数组

NSArray *allkeys = [muDic allKeys];

for(int i = 0;i<allkeys.count;i++)

{

    Person *p = [muDic objectForKey:[allkeys objectAtIndex:i];

};


//使用枚举器遍历可变数组

NSEnumerator *enumerator = [muDic objectEnumerator];

 Person *tmp;

while(tmp = [enumerator nextObject])

{

   NSLog(@"  tmp  %@",tmp);

}






Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值