NSDictionary、NSMutableDictionary的基本用法

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。

如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^

我要捐赠: 点击捐赠

Cocos2d-X源码下载:点我传送

游戏官方下载:http://dwz.cn/RwTjl

游戏视频预览:http://dwz.cn/RzHHd

游戏开发博客:http://dwz.cn/RzJzI

游戏源码传送:http://dwz.cn/Nret1

1.不可变词典NSDictionary

字典初始化

NSNumber *numObj = [NSNumber numberWithInt:100];

以一个元素初始化

NSDictionary *dic = [NSDictionary dictionaryWithObject:numObj forKey:@"key"];

初始化两个元素

NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:numObj, @"valueKey", numObj2, @"value2",nil];

初始化新字典,新字典包含otherDic

NSDictionary *dic = [NSDictionary dictionaryWithDictionary:otherDic];

以文件内容初始化字典

NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:path];

常用方法

获取字典数量

NSInteger count = [dic count];

通过key获取对应的value对象

NSObject *valueObj = [dic objectForKey:@"key"];

将字典的key转成枚举对象,用于遍历

NSEnumerator *enumerator = [dic keyEnumerator];

获取所有键的集合

NSArray *keys = [dic allKeys];

获取所有值的集合

NSArray *values = [dic allValues];

2.可变数组NSMutableDictionary

初始化一个空的可变字典

NSMutableDictionary *dic2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"v1",@"key1",@"v2",@"key2",nil];

NSDictionary *dic3 = [NSDictionary dictionaryWithObject:@"v3" forKey:@"key3"];

向字典2对象中添加整个字典对象3

[dic2 addEntriesFromDictionary:dic3];

向字典2对象中最佳一个新的key3和value3

[dic2 setValue:@"value3" forKey:@"key3"];

初始化一个空的可变字典

NSMutableDictionary *dic1 = [NSMutableDictionary dictionary];

将空字典1对象内容设置与字典2对象相同

[dic1 setDictionary:dic2];

将字典中key1对应的值删除

[dic1 [email protected]"key1"];

NSArray *array = [NSArray arrayWithObjects:@"key1", nil];

根据指定的数组(key)移除字典1的内容

[dic2 removeObjectsForKeys:array];

移除字典所有对象

[dic1 removeAllObjects];

遍历字典

快速枚举

for (id key in dic){

id obj = [dic objectForKey:key];

NSLog(@"%@", obj);

}

一般枚举

NSArray *keys = [dic allKeys];

inr length = [keys count];

for (int i = 0; i < length;i++){

id key = [keys objectAtIndex:i];

id obj = [dic objectForKey:key];

NSLog(@"%@", obj);

}

通过枚举类型枚举

NSEnumerator *enumerator = [dic keyEnumerator];

id key = [enumerator nextObject];

while (key) {

id obj = [dic objectForKey:key];

NSLog(@"%@", obj);

key = [enumerator nextObject];

}

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。

如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^

我要捐赠: 点击捐赠

Cocos2d-X源码下载:点我传送

游戏官方下载:http://dwz.cn/RwTjl

游戏视频预览:http://dwz.cn/RzHHd

游戏开发博客:http://dwz.cn/RzJzI

游戏源码传送:http://dwz.cn/Nret1

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2025-01-02 15:19:13

NSDictionary、NSMutableDictionary的基本用法的相关文章

NSDictionary , NSMutableDictionary, NSMutableDictionary 和 NSMutableSet)相当于java的map、set

1 NSDictionary 和 NSMutableDictionary NSDictionary  :就是java中的map; 放入对象是键值对 key-value  , 同样 秉持了一样的原则,只能放入对象,不可本体增删改; (1)初始化方法 + dictionaryWithObject:forKey: + dictionaryWithObjects:forKeys: + dictionaryWithObjectsAndKeys: 这三个是最常用的吧,注意是对象在前,key在后 2 访问 k

OC -- NSDictionary NSMutableDictionary

NSDictionary  NSMutableDictionary 只能存放OC对象,不能存放int, float, double, struct, enum类型数据 NSDictionary *dict1 = @{@"name" : @"As god name", @"address" : @"shanghai", @"program" : @"ios"}; NSDictionary

关于NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary

NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary 在 OC 中我们天天都要用,而我们要怎么学习它们呢? 我认为学习这些常用的类,使用类比的方法就行了,只要学会一个类,就能类比另外两个类了.. 比如,NSString和NSMutableString的可变与不可变,主要区分的标准是,它们本身是不是可以变,可变的一般都能增,删,改,而不可变的方法主要是创建,查看,得到元素个数或者长度等等;

NSString,NSMutableString, NSArray ,NSMutableArray,NSDictionary,NSMutableDictionary 深拷贝,浅拷贝分析

NSString,NSMutableString, NSArray ,NSMutableArray,NSDictionary,NSMutableDictionary 深拷贝,浅拷贝. 首先我们得知道什么是深拷贝,什么事浅拷贝. 简单点说深拷贝就是拷贝内容,浅拷贝就是拷贝指针. 上面那些类我们可以这样理解他们的深.浅拷贝.只要上面那些类中的NSString,NSArray,NSDictionary这三个类的实例化对象是调用copy方法进行拷贝那么他们拷贝的就是一个指针,就是说他们只是拷贝了一个指向

NSDictionary/NSMutableDictionary

NSDictionary/NSMutableDictionary 特点: (1)里存储的东西都是键值对 (2)可以像数组一样快速创建(适用 NSDictionary):@{key1 : value1, (3)快速访问元素:字典名 [key] 比如可以这样为指定 key 赋值: dic [@"key1"] = @"value1"; 快速获取 key 所对应的 value: key2 : value2} NSString *name = dic[@"name&

NSArray,NSMutable和NSSet,NSMutableSet和NSDictionary,NSMutableDictionary用法

开始编写应用程序的代码时,可以利用大量的 Objective-C 框架.其中,为所有应用程序提供基本服务的 Foundation 框架尤为重要.Foundation 框架包括表示基本数据类型的值类(如字符串和数字)以及用于储存其他对象的集 (collection) 类.ToDoList 应用程序中的大量代码都可以依靠值类和集类来编写. 值对象 Foundation 框架提供了为字符串.二进制数据.日期与时间.数字以及其他值产生值对象的类. 值对象是指封装了基本值(属于 C 数据类型)且提供与该值

NSDictionary&amp;NSMutableDictionary常用操作梳理

同数组(NSArray),字典类NSDictionary也支持Object Literals,允许我们方便地基于字面量定义初始化字典对象.以下基于字面量语法快捷初始化字典(NSDictionary): NSDictionary* literalDictionary = @{@"k1":@"v1", @"k2":@"v2", @"k3":@"v3"};  1.创建初始化(Initializ

OC_ NSDictionary ,NSMutableDictionary 字典

1 数组与字典的区别 数组: 1>存放一组有序对象的集合 2> 通过index下标找对应的对象 3> 数组中对象可以重复 字典: 1>存放一组无序key-value的集合 2> 通过key找到对应的value 3>字典key是唯一的,但是不同的value可以重复 2 字典的初始化 使用一个类方法创建一个空字典(常用) NSDictionary *dic1 = [NSDictionary dictionary]; (常用) 通过字面量去创建不可变数组和不可变字典 NSAr

Objective-C NSDictionary &amp; NSMutableDictionary

现在每天要抓紧的学习了,所以争取每天能学习两个知识点,尽快把OC学习完,然后进入开发阶段! 加油. #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { #pragma mark - NSDictionary //NSDictionary //使用initWithObjectsAndKeys:方法创建字典对象 //在对象创建过程中,一次性存入多个键值对,值(v