关闭

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

158人阅读 评论(0) 收藏 举报

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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:8606次
    • 积分:444
    • 等级:
    • 排名:千里之外
    • 原创:36篇
    • 转载:10篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论