OC 重点之NSArray(数组) NSDictionary不可变字典类与NSMutableDictionary 可变字典类 (概括)

原创 2015年11月18日 17:43:57

————————————————————NSArray(数组)————————————————————-
1、 OC提供了 数组 类 NSArray 帮我们存放了一组数据, 这些数据靠下标标识, 下标从0开始 注意: IOS开发中, 凡是涉及到下标, 无论什么类, 下标始终都是从0开始的. 与C语言的数组不同, OC的数组只能存放对象. 基本数据类型无法直接储存到数组去, 只能通过转换为NSNumber类型来储存。
2、 OC中数组也是分为可变与不可变数组 NSArray 和 NSMutableArray
区别:
NSArray 创建完之后, 内容就不可以发生变化, 不能插入元素, 不可以删除元素, 不可以交换元素.
NSMutableArray 创建完成之后, 可以对数组中的元素进行调整, 如: 插入元素, 删除元素, 替换元素, 交换元素等.
数组不同于字符串, 字符串多数情况下是不需要修改的, 即多数情况下我们使用NSString 来创建字符串, 但数组作为容器, 经常会添加, 删除元素, 所以通常使用NSMutableArray。
3、 NSArray OC数组中只能存放对象.
如何快速创建一个不可变字符串/NSString *str = @”how are you”, // 这个字符串放在常量区, 只是指针str 指向了常量区
NSString *str1= [[NSString alloc]initWithFormat:@“good moring! %d”,4]; Format 是格式化输入,类似于printf
NSString *str2= [[NSString alloc]initWithObjects:@“hello”,@“world”,@“zhangsan”,@“wangwu”,str,str1,nil]; object是对象的意思
数组中,存的时字符串,取的时候也得用字符串格式来接收。存得时候是Pesrson(取的时候也用Person来接收)。
如:NSString *s = [str2 objectAtIndex:3]; Person *p = [str2 objectAtIndex:3];
4、求数组的元素个数使用 count 方法。NSUInteger b = [str2 count ];
5、创建一个可变数组,初始容量为10个元素:NSMutableArray *arrM = [NSMutableArray arrayWithCapacity:10];
[num4 addObject:@“ok”] ; addObject 功能是向num4数组中添加了一个元素。(在末尾加)
[num4 insertObject:@“SHS150403的学员很牛B”atIndex:2]//再数组num4中从第三个元素开始插入一个字符串。
6、数组中只能是对象才可以进行遍历。

————————NSDictionary不可变字典类与NSMutableDictionary 可变字典类————————-
1. 不可变字典: 定义并赋值: NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@”zhangsan”,@”name”,@”nan”,@”sex”,@”18”,@”age”,nil];
NSL(@”%@”,dic);
字典是通过”key – value”(键 与 值)来储存的, “key - value”是成对出现的, 称为一个元素.
2、通过key 来查找对应的 value(值); NSString *value = [dic objectForKey:@“name”];NSLog(@“%@”,value);
3、计算字典的元素个数: NSLog(@“%lu”,[dic count]);
4、查看全部的 key NSArray *key = [dic allKeys];//因为是多个键,所以需要一个数组来存储。 NSLog(@“%@”,key);
5、查看全部的 value NSArray *value1= [dic allValues];NSLog(@“%@”,value1)
6、查看某个 value 对应的全部 key (key不能相同,但是 value 是可以相同的),
NSArray *key2 = [dic allKeyForObject:@“zhagnsan”]; NSLog(@“%@”,key2);
可变字典(NSMutableDictionary)
1、NSMutableDictionary *mDc = [NSMutableDictionary dictionaryWithCapacity:10];
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@“zhangsan”,@“name”,@“nan”,@“sex”,@“18”,@“age”,nil];
[mDic addEntriesFromDictionary:dic];//向可变字典mDic中添加一个字典dic.
[mDic setObjet:@“1000”forKey:@“salary”];添加单个key —- value 对一个元素。
2、字典是无序的。但是可以通过对应的 key 取出对应的 value 值,

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

字典NSDictionary与可变字典NSmutableDictionary的用法

1、NSDictionary不可变字典——>子类NSMutableDictionary可变字典      :都是根据一个唯一的标示键来找到的对应的值。 字典  Key————>value 索引————...
  • u013087513
  • u013087513
  • 2015年08月22日 22:50
  • 1094

字典:NSDictionary(不可变字典)、NSMutableDictionary(可变字典)、字面量

每个字典都相当于一个model类,model类更倾向于可变字典 1. NSDictionary(不可变字典) 所有的不可变变量,只能在初始化的时候赋值 1.1 创建字典 NSDictionar...
  • zhangyue0405
  • zhangyue0405
  • 2015年07月17日 19:45
  • 437

OC语言-字典与可变字典的定义及字典的嵌套

一、字典的定义 不可变字典 1.NSDictionary(不可变字典), NSMutableDictionary(可变字典)是由键-值对组成的数据集合。 2.通过key(键),查找对应value(值)...
  • zouxianm
  • zouxianm
  • 2015年07月27日 18:56
  • 2379

NSArray,NSDictionary的常用方法与可变数组可变字典的常用方法

-- NSArray 1. objectAtIndex:index    访问数组中某个元素 NSArray *array = @[@"元素1", @"元素2"]; NSLog(@"...
  • Summer_shining
  • Summer_shining
  • 2016年12月29日 11:20
  • 1221

Foundation框架—字典NSDictionary 可变和不可变

Foundation 框架初体验 _______________ NSDictionary 不可变字典 _______________ //字典和数组的区别 1.字典的内存不是连续...
  • TenMios
  • TenMios
  • 2016年05月29日 01:37
  • 865

iOS 工作之余小总结---(四)-(4)可变与不可变字典

补之前的总结,今天把字典的代码做下总结。 1.不可变字典NSDictionary //1.创建 NSDictionary *fyDic1 = [NSDictionary dictionary];...
  • Fydevelop
  • Fydevelop
  • 2016年12月28日 19:20
  • 529

OC_字典(可变不可变都有^_^)

字典 NSDictionary1.概念字典是关键字'key'及其定义的值(value)所构成的集合,即它是由key-value组成的键值对的集合。 'key'一般是'NSString'类型的,‘v...
  • yourjjboom
  • yourjjboom
  • 2016年08月10日 22:04
  • 507

十五 Swift3.0之 字典

/* 字典定义: 键值对 OC: NSDictionary *dict = [NSDictionary dictionaryWithObject:@"lnj" forKey:@"name"]; NSL...
  • gezi0630
  • gezi0630
  • 2017年03月30日 09:39
  • 485

OC中可变字典和不可变字典

#import int main(int argc, const char * argv[]) { //不可改变字典,创建后不可改变 NSDictionary * dic...
  • u012701023
  • u012701023
  • 2015年07月27日 08:28
  • 2053

字典 不可变字典NSDictionary 可变字典NSMutableDictionary

1、字典类  是用于保存具有映射关系(Key - value)的数据集合  对于name:张三来讲 name就是key  key对应的value就是张三  一个Key - value的组合成为是...
  • binghuizi199293
  • binghuizi199293
  • 2015年11月13日 19:58
  • 241
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OC 重点之NSArray(数组) NSDictionary不可变字典类与NSMutableDictionary 可变字典类 (概括)
举报原因:
原因补充:

(最多只允许输入30个字)