OC基础之----NSDictionnary

本文介绍了Objective-C中的NSDictionary和NSMutableDictionary的基础知识,包括如何创建、访问和操作字典。NSDictionary是不可变字典,通过`dictionary`、`initWithObjectsAndKeys`等方式初始化,使用`objectForKey`或`valueForKey`访问元素。NSMutableDictionary是可变字典,支持添加、修改和删除键值对,以及清空所有元素。

一 字典

1.    NSDictionary  不可变字典,继承自 NSObject,字典中存储的元素都是以键值对形式存在的,key 值是唯一的,不能重复.

2.    字典中存储的元素都是无序的.

3.    字典中存储的都是 key/value,这种形式称之为键值对.

4.    便利构造器创建字典

NSDictionary *dic = [NSDictionary dictionary];  //空字典

创建一个空字典

NSDictionary  * dic=[[NSDictionary alloc]init];   //是一个空字典

打印字典的标志是一对大括号

5.    字典创建并初始化(dictionWithObjectsAndKeys)

NSDictionary*dic = [[NSDictionaryalloc]initWithObjectsAndKeys:

@”xiaoming”,@”name”,@”18”,@”age”,@”man”,@”sex”,nil];

注意:

1⃣ 创建的是时候 value 值在前, key 值在后;(@”value1”,@”key1”)

2⃣ 字典是无序的

3⃣ 字典创建的时候都是以nil结束

4⃣ value 必须是对象,key值一般是字符串

6.    字典的访问

1⃣ 通过 key值访问value值(objectForKey 和 valueForKey)

NSString *str = [dic objectForKey:@”age”];

NSString *str = [dic valueForKey:@”age”];

2⃣ 获取所有的value的值(allValues)

NSArray *value = [dic allValues];

3⃣ 获取所有的 key值的属性(allKeys)

NSArray *key = [dic allKeys];

4⃣ 获取字典中键值对的个数(count)

NSUInteger count = [dic count];

7.    遍历字典

1⃣  for(NSInteger i = 0;i < count;i++){

//[dic allkeys]返回一个数组  然后使用 ObjectAtIndex 取出数组中的元素

NSString *str = [[dic allkeys]objectAtIndex:i];

NSStirng *value = [dic objectForKey:str];

}

2⃣ for(NSString *key in [dic allKeys]){

NSLog(@”%@ =%@”,key,[dic objectForKey:key]);

}

3⃣ 快速枚举的是字典中的key值

for(NSString *key in dic){

NSLog(@”%@ = %@”,key,[dic objectForKey:key]);

}

 二 NSMutableDictionary 

1.    可变字典,继承自NSDictionary

2.    初始化

NSMutableDictionary*mDic=[[NSMutableDictionaryalloc]initWithCapacity:0];

3.    向可变数组中添加对象(setObject: forKey:)

[mDic setObject:@”chenyixun” forKey:@”Singer”];

4.    修改key值对应的 value的值(setObject: froKey:或者setValue: forKey:)

[mDic setObject:@”liudehua” forKey:@”Singer”];

5.    删除键值对(removeObjectForKey:)

[mDic removeObjectForKey:@”Duboer”];

6.    清空字典(removeAllObjects)

[mDic removeAllObjects];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值