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

————————————————————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 值,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值