您的位置:首页 > 其它

OC字典

2015-10-06 18:07 337 查看

字典

Foundation中的字典(NSDictionary,NSMutableDictionary)是由键-值对组成的数据集合.正如,我们在字典里查找单词的定义一样.

通过key(键),查找的对应的value(值),key通常是字符串对象,也可以是其他任意类型对象.在一个字典对象中,key的值必须是唯一的.

此外,字典对象的键和值不可以为空(nil),如果需要在字典中加入一个空值,可以加入NSNull对象

为什么要使用字典?而不是使用数组

-数组特性: 是按一定顺序去排列的集合,通过下标去存取值(当期望数据是按一定的顺序排列的时候 ,选择使用数组)

-字典特征: 通过key 存取值 key是一个标记 (获取一个具体的标识 准确的得到咱们想要的值)

-key value 是成对出现的

初始化字典的方式

NSDictionary *dic = [[NSDictionary alloc]init];  //1.初始化一个空字典
NSDictionary *dic1 = [NSDictionary dictionary]; //2。初始化一个空字典
//通过key  我们可以取到Value值
NSDictionary *dic2 = [NSDictionary dictionaryWithObject:@"value" forKey:@"key"]; //3.初始化的同时 添加一对键值
NSDictionary *dic3 = [NSDictionary dictionaryWithObjectsAndKeys:@"Object",@"Key",@"Object1",@"Key1", nil];//4.初始化的同时添加多对键值
//前面的object  是值  可以是任意类型  后面是key  必须是字符串


字典的新写法

前面是key 是键  后面是object 是值
NSDictionary *dic4 = @{@"key":@"object",@"key1":@"object1"};
NSDictionary *dic5 = @{@"key":@"值",@"key1":@"值1"};
字典取值
//1.  ObjectForKey : 通过key取字典里面的值
NSString *string = [dic4 objectForKey:@"key"];
NSLog(@"%@",string);

//2.取字典值  字典名[@"key"];
NSString *string1 = dic5[@"key1"];
NSLog(@"%@",string1);


输出结果:

object
值1


用字典 表达出 自己的考试分数

语文 70分 数学 95分 英语 60分

分别取出语文 数学 英语的成绩

NSDictionary *dic6 = [NSDictionary dictionaryWithObjectsAndKeys:@"70",@"语文",@"95",@"数学",@"60",@"英语", nil];

NSString *string = [dic6 objectForKey:@"语文"];
NSString *string1 = [dic6 objectForKey:@"数学"];
NSString *string2 = [dic6 objectForKey:@"英语"];

NSLog(@"语文成绩是%@",string);
NSLog(@"数学成绩是%@",string1);
NSLog(@"英语成绩是%@",string2);


输出结果:

语文成绩是70
数学成绩是95
英语成绩是60


用字典 表达出 一年四季的特征 分别取出每个季节的特征

NSDictionary *season = [NSDictionary dictionaryWithObjectsAndKeys:@"发芽",@"春",@"开花",@"夏",@"结果",@"秋",@"枯萎",@"冬", nil];
//allkeys 是所有的 key 的一个数组
//遍历字典的全部键值  key值
for (NSString *key in season.allKeys) {
NSLog(@"%@ %@", key ,[season objectForKey:key]);
}


输出结果:

夏 开花
秋 结果
冬 枯萎
春 发芽
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: