Objective-C 学习记录6--dictionary
1.NSDictionary 和NSMutableDictionary
NSDictionary dictionaryWithObjectsAndKeys:~,nil
使用键值对创建字典,用nil标志结束
NSDictionary initWithObjectsAndKeys:
使用键值对初始化字典,也用nil来表示结束.
dictionary count 计算其字典的长度.
dictionary keyEunmerator 将key全部存在NSEunmerator中,可以快速枚举其中的key的值.
dictionary objectForKey: key 通过key来查询值.
demo:
#import <UIKit/UIKit.h>
#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; [dictionary setObject:~ forKey;~];
//x向可变的字典中添加数据; [dictionary removeAllobjects];//删除所有的数据; removeObjectForKey: //删除key的对应值;
#import <UIKit/UIKit.h>
#import "MyClass.h"
int main(int argc, char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; //添加我们的测试代码 //创建词典对象,初始化长度为10
NSMutableDictionary *dictionary = [NSMutableDictionary dictionaryWithCapacity:]; //向词典中动态添加数据
[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会自动增加.
Objective-C 学习记录6--dictionary的更多相关文章
- Python大神成长之路: 第三次学习记录 集合 函数 装饰 re
学习记录day03 字符串可以直接切片,But字符串不可修改 字符串修改:生成了一个新的字符串 LIst修改,在原基础上修改(原内存上) 集合是一个无序的,不重复的数据组合,它的主要作用如 ...
- Quartz 学习记录1
原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...
- Java 静态内部类与非静态内部类 学习记录.
目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...
- Apache Shiro 学习记录4
今天看了教程的第三章...是关于授权的......和以前一样.....自己也研究了下....我觉得看那篇教程怎么说呢.....总体上是为数不多的精品教程了吧....但是有些地方确实是讲的太少了.... ...
- UWP学习记录12-应用到应用的通信
UWP学习记录12-应用到应用的通信 1.应用间通信 “共享”合约是用户可以在应用之间快速交换数据的一种方式. 例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参 ...
- UWP学习记录11-设计和UI
UWP学习记录11-设计和UI 1.输入和设备 通用 Windows 平台 (UWP) 中的用户交互组合了输入和输出源(例如鼠标.键盘.笔.触摸.触摸板.语音.Cortana.控制器.手势.注视等)以 ...
- UWP学习记录10-设计和UI之控件和模式7
UWP学习记录10-设计和UI之控件和模式7 1.导航控件 Hub,中心控件,利用它你可以将应用内容整理到不同但又相关的区域或类别中. 中心的各个区域可按首选顺序遍历,并且可用作更具体体验的起始点. ...
- UWP学习记录9-设计和UI之控件和模式6
UWP学习记录9-设计和UI之控件和模式6 1.图形和墨迹 InkCanvas是接收和显示墨迹笔划的控件,是新增的比较复杂的控件,这里先不深入. 而形状(Shape)则是可以显示的各种保留模式图形对象 ...
- UWP学习记录8-设计和UI之控件和模式5
UWP学习记录8-设计和UI之控件和模式5 1.日历.日期和时间控件 日期和时间控件提供了标准的本地化方法,可供用户在应用中查看并设置日期和时间值. 有四个日期和时间控件可供选择,选择的依据如下: 日 ...
- UWP学习记录7-设计和UI之控件和模式4
UWP学习记录7-设计和UI之控件和模式4 1.翻转视图 使用翻转视图浏览集合中的图像或其他项目(例如相册中的照片或产品详细信息页中的项目),一次显示一个项目. 对于触摸设备,轻扫某个项将在整个集合中 ...
随机推荐
- HDU 1711 Number Sequence (数字KMP,变形)
题意: 在一个序列中找到一个连续的子序列,返回其开始位置. 思路: 每个数字当成1个字符,长的序列是原串,短的序列是模式串,求next数组后进行匹配. #include <iostream> ...
- Android如何获取系统高度、标题栏和状态栏高度
在android应用中,有时需要计算个View的位置,导致需要计算状态栏高度,标题栏高度等信息.为以后方便,在此做个简单记录. 晒代码前先了解一下android屏幕区域的划分,如下图(该图引用自此文h ...
- [转]就这样,创建了自己的运行时共享库(RSL)
原文地址:http://riaoo.com/?p=1405 博客园的下载地址(版权归原作者) http://files.cnblogs.com/tianlanliao/CustomRSL.zip 创建 ...
- ProgressBar及其子类
1.ProgressBar(进度条组件) 派生了两个常用的组件:SeekBar和RatingBar. <1>通过style属性可以为ProgressBar指定风格,该属性可支持如下几个属性 ...
- 使用poi解析Excel
解析XLS package xls; import java.io.FileInputStream; import java.io.IOException; import java.io.InputS ...
- hdu 5444 Elven Postman(根据先序遍历和中序遍历求后序遍历)2015 ACM/ICPC Asia Regional Changchun Online
很坑的一道题,读了半天才读懂题,手忙脚乱的写完(套上模板+修改模板),然后RE到死…… 题意: 题面上告诉了我们这是一棵二叉树,然后告诉了我们它的先序遍历,然后,没了……没了! 反复读题,终于在偶然间 ...
- 开启Nginx的gzip压缩功能详解
默认情况下,Nginx的gzip压缩是关闭的, gzip压缩功能就是可以让你节省不少带宽,但是会增加服务器CPU的开销哦,Nginx默认只对text/html进行压缩 ,如果要对html之外的内容进行 ...
- duilib List控件,横向滚动时列表项不移动或者显示错位的bug的修复
转载请说明出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/42264673 关于这个bug的修复我之前写过一篇博客,连接为:http:/ ...
- jQuery 关于点击菜单项,使子条目“向上”展开效果的实现
为什么做了这样一个的功能呢?原因是前一段时间jQuery群里有个朋友想实现这样一个东东,大家都知道jQuery中有现成的slideDown和slideUp方法,但那是向下展开,而这个是一个完全相反的效 ...
- 使用java开源工具httpClient及jsoup抓取解析网页数据
今天做项目的时候遇到这样一个需求,需要在网页上展示今日黄历信息,数据格式如下 公历时间:2016年04月11日 星期一 农历时间:猴年三月初五 天干地支:丙申年 壬辰月 癸亥日 宜:求子 祈福 开光 ...