博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Objective-C 学习记录6--dictionary
阅读量:5952 次
发布时间:2019-06-19

本文共 2789 字,大约阅读时间需要 9 分钟。

1.NSDictionary 和NSMutableDictionary

 

NSDictionary dictionaryWithObjectsAndKeys:~,nil

使用键值对创建字典,用nil标志结束

NSDictionary initWithObjectsAndKeys:

使用键值对初始化字典,也用nil来表示结束.

dictionary count  计算其字典的长度.

dictionary keyEunmerator  将key全部存在NSEunmerator中,可以快速枚举其中的key的值.

dictionary objectForKey: key  通过key来查询值.

demo:

#import 
#import "MyClass.h" int main(int argc, char *argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; //添加我们的测试代码 NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"我是值",@"我是key1",@"我是值2",@"我是key2", nil]; //得到词典的数量 int count = [dictionary count]; NSLog(@"词典的数量为: %d",count); //得到词典中所有KEY值 NSEnumerator * enumeratorKey = [dictionary keyEnumerator]; //快速枚举遍历所有KEY的值 for (NSObject *object in enumeratorKey) { NSLog(@"遍历KEY的值: %@",object); } //得到词典中所有Value值 NSEnumerator * enumeratorValue = [dictionary objectEnumerator]; //快速枚举遍历所有Value的值 for (NSObject *object in enumeratorValue) { NSLog(@"遍历Value的值: %@",object); } //通过KEY找到value NSObject *object = [dictionary objectForKey:@"我是key2"]; if (object != nil) { NSLog(@"通过KEY找到的value是: %@",object); } int retVal = UIApplicationMain(argc, argv, nil, nil); [pool release]; return retVal; }

 

2.NSMutableDictionary是NSDictionary的子类,因此也继承其有的方法.

 

[NSMutableDictionary dictionaryWithCapacity:10]; //创建一个长度为10的字典,不过字典的内容超过了10会自动增加.
[NSMutableDictionary initWithCapacity: 10];//初始化长度为10;[dictionary setObject:~ forKey;~];//x向可变的字典中添加数据;[dictionary removeAllobjects];//删除所有的数据;removeObjectForKey: //删除key的对应值;
#import 
#import "MyClass.h" int main(int argc, char *argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; //添加我们的测试代码 //创建词典对象,初始化长度为10 NSMutableDictionary *dictionary = [NSMutableDictionary dictionaryWithCapacity:10]; //向词典中动态添加数据 [dictionary setObject:@"被添加的value1" forKey:@"key1"]; [dictionary setObject:@"被添加的value2" forKey:@"key2"]; //通过KEY找到value NSObject *object = [dictionary objectForKey:@"key2"]; if (object != nil) { NSLog(@"通过KEY找到的value是: %@",object); } int retVal = UIApplicationMain(argc, argv, nil, nil); [pool release]; return retVal; }

 

 
[NSMutableDictionary dictionaryWithCapacity:10]; //创建一个长度为10的字典,不过字典的内容超过了10会自动增加.

转载于:https://www.cnblogs.com/ievjai/p/3910621.html

你可能感兴趣的文章
范数 L1 L2
查看>>
协同过滤及大数据处理
查看>>
Java8 本地DateTime API
查看>>
jQuery 增加 删除 修改select option
查看>>
[原][osgearth]osgearthviewer读取earth文件,代码解析(earth文件读取的一帧)
查看>>
springboot 常用插件
查看>>
一个基于特征向量的近似网页去重算法——term用SVM人工提取训练,基于term的特征向量,倒排索引查询相似文档,同时利用cos计算相似度...
查看>>
[转]Newtonsoft.Json高级用法
查看>>
35个Java代码性能优化总结
查看>>
Spring+SpringMVC+MyBatis+easyUI整合基础篇(一)项目简述及技术选型介绍
查看>>
第一百五十一节,封装库--JavaScript,表单验证--密码确认验证--回答验证--电子邮件验证加自动补全...
查看>>
vue实例
查看>>
(zhuan) LSTM Neural Network for Time Series Prediction
查看>>
web页面防盗链功能使用--request.getHeader("Referer")
查看>>
AAuto如何设置定时器
查看>>
Java Code Examples for org.apache.ibatis.annotations.Insert
查看>>
为linux扩展swap分区
查看>>
python \uxxxx转中文,Python列表中的字典 \uxxxx转中文,
查看>>
解决ios下的微信打开的页面背景音乐无法自动播放(转载)
查看>>
系统编程是什么
查看>>