美文网首页iOS DeveloperObjective-c
Objective-c字典之基础篇

Objective-c字典之基础篇

作者: 文艺小年青 | 来源:发表于2017-07-29 19:49 被阅读0次
字典概述

1.字典是一个无序的集合,用来存储具有一一对应关系的数据。
2.字典中存储的每一个对象都是一对键值对,键值对包含两个部分key和value,key与value的值都是对象类型。
3.对于每一对key-value称为一个条目(Entry)。

字典的特点

1,与数组不同,字典靠key存取元素。
2,key与value必须都是对象类型。
3,字典中键值对的存储是无序的。
4,字典分为两种类型不可变字典(NSDictionary),可变字典(NSMutableDictionary)。

NSDictionary的创建
//初始化字典
NSDictionary *num = [[NSDictionary alloc] initWithObjectsAndKeys:@"one", @"num1", @"two", @"num2", @"three", @"num3", nil];
//注:先写value,再写key,一对key-value是一个元素,nil作为字典存放元素的结束标志。

//便利构造器
NSDictionary *num1 = [NSDictionary dictionaryWithObjectsAndKeys:@"one",@"num1",@"two",@"num2",nil];

//字面量
//使用“ @{} ”,“ {} ”中存入字典元素,key:value一一对应,元素之间使用”,”相隔。
NSDictionary *num2 = @{@"num1":@"one",@"num2":@"two"};
NSLog(@"%@,%@,%@",num,num1,num2);
NSDictionary的常用操作
//获取字典中键值对的个数
NSInteger count = [num count];

//获取字典中所有的键
NSArray *arr = [num allKeys];

//获取字典中所有的值
NSArray *arr1 = [num allValues];

//根据键获得对应的值
NSString *string = [num objectForKey:@"num1"];
NSLog(@"%@",string);
NSMutableDictionary概述

NSMutableDictionary(可变字典)的父类是NSDictionary,NSMutableDictionary具有NSDictionary所有的方法,同时在其基础上添加了 “增加”,“修改”,“删除”的操作。

NSMutableDictionary创建常用方法
//初始化方法
NSMutableDictionary *name = [[NSMutableDictionary alloc] initWithCapacity:0];

//便利构造器
NSMutableDictionary *name1 = [NSMutableDictionary dictionaryWithCapacity:0];

//字面值
NSMutableDictionary *name2 = [@{@"key1":@"frank", @"key2":@"duck"} mutableCopy];

//常用写法
NSMutableDictionary *name0 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"one",@"num1",@"two",@"num2", nil];
NSMutableDictionary常用操作
//字典中添加新的键值对
[name2 setObject:@"dog" forKey:@"key3"];
[name2 setObject:@33 forKey:@"age"];

//修改已有键对应的值,如果键不存在,则为添加键值对,如果键存在,则为修改已有键对应的值
[name2 setObject:@43 forKey:@"age"];
NSLog(@"%@",name2);

//移除指定的键对应的键值对
[name2 removeObjectForKey:@"age"];
NSLog(@"%@",name2);

//移除字典中所有的键值对
[name2 removeAllObjects];
NSLog(@"%@",name2);

相关文章

  • Objective-c字典之基础篇

    字典概述 1.字典是一个无序的集合,用来存储具有一一对应关系的数据。2.字典中存储的每一个对象都是一对键值对,键值...

  • 07 - 基础篇之字典

    一. 字典的介绍 • 字典允许按照某个键来访问元素• 字典是由两部分集合构成的,一个是键(key)集合,一个是值(...

  • Foundation构架秘籍

    第1篇 Objective-C准备篇 第1章Objective-C学习环境准备 1.1Objective-C基础 ...

  • Cocoa框架(Foundation+UIKit)

    第1篇Objective-C准备篇 第1章Objective-C学习环境准备 1.1Objective-C基础 1...

  • Objective-C Foundation 知识总结

    第1篇Objective-C准备篇 第1章Objective-C学习环境准备 1.1Objective-C基础 1...

  • Objective-C基础之NSObject + (void)l

    Objective-C基础之NSObject + (void)load 、+ (void)Initialize、以...

  • Objective-C中字典的使用方法总结

    Objective-C中字典的使用方法总结 在Objective-C中提供了两个类来实现字典,即NSDiction...

  • Objective-c集合之基础篇

    什么是集合? 集合作为OC中另一个容器,开发过程中使用的范围并没有数组和字典频繁。OC中的集合分为不可变集合(NS...

  • Objective-c数组之基础篇

    什么是数组? 数组是一个有序的集合,OC中的数组只能存储对象类型,但是对于对象的类型没有限制。我们可以通过下标去访...

  • Swift基础篇——字典

    字典存储的数据是键和值的数据对 所存储的数据中,键和值可以是任意数据类型,包括基础的数据类型,但字典对键的数据类型...

网友评论

    本文标题:Objective-c字典之基础篇

    本文链接:https://www.haomeiwen.com/subject/nmlclxtx.html