黑马程序员——OC基础---Foundation之字典
2015-11-06 21:47
567 查看
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
一、字典的初始化
1.不可变字典初始化
示例代码:
运行结果:
2.可变字典初始化
示例代码:
运行结果:
二、字典遍历
示例代码:
注意:同数组一样,不管是可变字典还是不可变字典初始化元素后面必须加上nil以表示结束。
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
一、字典的初始化
1.不可变字典初始化
示例代码:
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... /* 字典: key ----> value 索引 ---->文字内容 */ NSArray *key = @[@"name",@"address"]; NSArray *objects = @[@"king",@"shenzhen"]; //创建一个字典 NSDictionary *dirt = [NSDictionary dictionaryWithObjects:objects forKeys:key]; //创建一个字典 NSDictionary *dirt1 = [NSDictionary dictionaryWithObjectsAndKeys:@"king",@"name",@"shenzhen",@"address", nil]; id obj = [dirt objectForKey:@"name"]; id obj1 = dirt1[@"address"]; NSLog(@"%@",obj); NSLog(@"%@",obj1); } return 0; }
运行结果:
2.可变字典初始化
示例代码:
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... //定义可变字典 NSMutableDictionary *dirt = [NSMutableDictionary dictionary]; //添加键值对 [dirt setObject:@"king" forKey:@"name"]; [dirt setObject:@"深圳" forKey:@"adress"]; //移除键值对 // [dirt removeObjectForKey:@"name"]; NSLog(@"%@",dirt[@"name"]); } return 0; }
运行结果:
二、字典遍历
示例代码:
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSDictionary *dic1=[NSDictionary dictionaryWithObjectsAndKeys: @"1",@"a", @"2",@"b", @"3",@"c", @"2",@"d", nil]; //遍历1 for (id key in dic1) {//注意对于字典for遍历循环的是key NSLog(@"%@=%@",key,[dic1 objectForKey:key]); } /*结果: d=2 b=2 c=3 a=1 */ //遍历2 NSEnumerator *enumerator=[dic1 keyEnumerator];//还有值的迭代器[dic1 objectEnumerator] id key=nil; while (key=[enumerator nextObject]) { NSLog(@"%@=%@",key,[dic1 objectForKey:key]); } /*结果: d=2 b=2 c=3 a=1 */ //遍历3 [dic1 enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { NSLog(@"%@=%@",key,obj); }]; /*结果: d=2 b=2 c=3 a=1 */ } return 0; }
注意:同数组一样,不管是可变字典还是不可变字典初始化元素后面必须加上nil以表示结束。
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
相关文章推荐
- 2015年360公司面试
- 黑马程序员——OC基础---Foundation之数组
- 一个大四学生眼中的顶尖程序员是什么样子的?
- Java程序员进化为架构师掌握的知识
- String s=new String("abc")产生了几个对象?[权威面试版]
- 【小松教你手游开发】【面试必读(编程基础)】.NET垃圾回收:原理浅析
- 【小松教你手游开发】【面试必读(编程基础)】堆和栈的区别
- 《Java程序员面试宝典(第4版)》 试读感想
- Java面试题--沙袋装箱问题
- J2EE程序员需掌握的技术
- 技术面试那点事情儿
- 程序员常去的14个顶级开发社区
- 嵌入式软件工程师前期职业生涯规划
- 给程序员的五点建议--如何成为编程高手并以此创业
- 这些 iOS 面试基础题目,你都深入了解吗?
- 程序员的七宗罪,你犯错了吗
- 黑马程序员——OC基础---Foundation框架之结构体
- JAVA面试题(1年工作经验!)
- 黑马程序员------IO流体系图
- 黑马程序员--String类