黑马程序员-[OC]学习之旅-NSArray 和NSDictionary 的介绍
来源:互联网 发布:鬼怪故事 知乎 编辑:程序博客网 时间:2024/05/22 15:43
NSMutableString介绍
NSMutableString类是继承NSString类
和NSString的区别
NSString 是不可变,里面的文字内容是不能进行修改的
NSMutableString 是可变的,里面的内容是可以进行修改的
字符串的可变和不可变
不可变:指的是字符串在内存中占用的存储空间固定,并且存储内容不能发生变化
可变:指的是字符串在内存中占用存储空间可以不固定,并且存储的内容可以发生变化
增加内容
- NSMutableString *str=[NSMutableString stringWithFormat:@”jack”];
- [str appendString:@"ning"];
拼接string到最后面
拼接一段格式化字符串到最后面
- NSMutableString *str=[NSMutableString stringWithFormat:@”jack and rose”];
- NSRange range = [str rangeOfString:@"and"];
- [str deleCharactersInRange:range];
在loc这个位置中插入aString
- SMutableString *str=[NSMutableString stringWithFormat:@”jack and rose”];
- [str insertString:@"ning" atIndex:5];
使用aString替换range范围内的字符串,一般不是以string开头的一般都不会产生一个新的字符
replaceOccurrencesOfString方法不需要传范围参数。
NSArray介绍
内容不可改变;而且只能存放OC对象;
NSarray直接使用NSlog( )作为字符串输出的时候是小括号扩起来的形式;
只能存放任意的OC对象,并且是有顺序的,不能存放非OC对象,如基本数据类型。
创建数组的方法
+ (instancetype)array;
+ (instancetype)arrayWithObject:(id)anObject;
+ (instancetype)arrayWithObjects:(id)firstObj, ...;
+ (instancetype)arrayWithObjects:(id)firstObj, ...;
+ (instancetype)arrayWithArray:(NSArray *)array;
+ (id)arrayWithContentsOfFile:(NSString *)path; // 读取一个xml文件.
+ (id)arrayWithContentsOfURL:(NSURL *)url; // 读取一个xml文件.
使用NSArray的对象方法创建
NSArray *arr = [[NSArray alloc] initWithObjects:@"ning"];
使用已经存在的数组创建新的数组
NSSrray *arr2 = [[ NSArray alloc] initWithArray:arr];
NSString的常见用法:
获取集合元素的个数
- NSArray *arr = [[NSArray alloc]initWithObject:@"nint"];
- NSLog(@"%d",arr.count);
获取index位置的元素
- NSArray *arr = [[NSArray alloc]initWithObject:@"nint"];
- NSLog(@"%@",[arr objectAtIndex:0];);
是否包含某个元素
- NSArray *arr = [[NSArray alloc]initWithObject:@"nint"];
- BOOL isYes = [arr containsObject:@"nint"];
- NSArray *arr = [[NSArray alloc]initWithObject:@"nint"];
- NSString *str = [arr lastObject];
- NSString *str2 = [arr firstObject];
查找某个元素的位置
-(NSUInteger)indexOfObject:(id)anObject inRange:(NSRange)range;
- NSArray *arr = [[NSArray alloc]initWithObject:@"nint",@"out"];
- NSUInteger index = [arr indexOfObject:@"out"];
下标:
- NSArray *arr = [[NSArray alloc]initWithObject:@"1",@"2"];
- for(int i=0;i<arr.count;i++){
- NSLog(@"%@",arr[i]);
- }
- NSArray *arr = [[NSArray alloc]initWithObject:@"1",@"2"];
- for(NSString *str in arr){
- NSLog(@"%@",str);
- }
- NSArray *arr = [[NSArray alloc]initWithObject:@"1",@"2"];
- [arr enumerateObjectsUsingBlock:^(id obj,NSUInteger idx,BOOL *stop){
- NSLog(@"下标:%ld,值:%@",idx,obj);
- }];
写文件
- NSArray *arr = [[NSArray alloc]initWithObject:@"1",@"2"];
- BOOL isYes = [arr writeToFile:@"/Users/Desktop/arr.plist" atomically:YEW];
读文件
- NSArray *arr = [NSArray arrayWithContentsOfFile:@"/Users/Desktop/arr.plist"];
- NSLog(@"%@"arr);
把数组元素连接成字符串
- NSArray *arr = [NSArray arrayWithObjects:@"2",@"d",@"d",nil];
- NSString *str = [arr componentsJionByString:@"#"];
- NSLog(@"%@",str);
字符串分隔
NSMutableArray基本使用
NSMutableArray是NSArray的子类
NSArray是不可变的,一旦初始化完毕后,它里面的内容永远固定的,不能删除里面的元素,也不能添加元素
- NSMutableArray *arr = [NSMutableArray array];
- NSMutableArray *arr2 = [[NSMutableArray alloc]initWithCapacity:5];
- 长度为5
- NSMutableArray *arr3 = [NSMutableArray arrayWithObjects:@"1",@"2"];
- NSMutableArray *arr4 = [[NSMutableArray alloc] initWithObjects:@"1",nil];
添加一个元素
- NSMutableArray *arr = [NSMutableArray array];
- [arr addObject:@"nig"];
- NSMutableArray *arr = [NSMutableArray array];
- NSArray *arr2 = [[NSArray alloc]initWithObjectS:@"1",@"2",nil];
- [arr addObjectsFromArdObray:arr2];
- 删除最后一个元素
- [arr removeLastObject];
- 删除所有元素
- [arr removeAllObject];
- 删除index 位置的元素
- [arr removeObjectAtIndex:1];
- 删掉特定的元素
- [arr removeObject:@"1"];
- 删掉range范围的所有元素
- [arr removeObjectInRange:{3,7}];
- NSMutableArray *arr4 = [[NSMutableArray alloc] initWithObjects:@"1",nil];
- [arr replaceObjectAtIndex: 2 withObject:@"one"];
交换idx1和idx2位置元素
- NSMutableArray *arr4 = [[NSMutableArray alloc] initWithObjects:@"1",nil];
- [arr eXchangeObjectAtIndex:2 withObjectAtIndex 3];
NSDictionary 介绍
字典 通过一个key键可以找到对应的详细解释
是不可变的,一旦初始化完成后,里面的内容无法修改
NSDictionary的创建
- NSDictionary *dict = [NSDictionary dictionary];
- //创建空的字典
- NSDictionary *dict2 = [NSDictionary dictionaryWithObjectAndKeys@"value1,@"key1""nil];
- NSDictionary *dict3 = [NSDictionary dictionaryWithObject:@"ning" forKey:"zhi"];
快速创建字典
@{@“zs”:@"zhangsan",@"ls":@"lisi"};
特点:
字典存储的时候必须是键值对的方式存储
键值对中存储的数据是无序的
键值对集合可以根据键值快速获取
基本使用
返回字典的键值对的数目-(NSUInteger)count;
根据key去除value-(id)objectForKey:(id)aKey;
遍历:
快速:
NSDictionary *dict =@{@“zs”:@"zhangsan",@"ls":@"lisi"};
- for(NSString *key in dict){
- NSLog(@"%@:%@",key,[dict objectForKey:key]);
- }
[dict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {}];
NSDictionary *dict = @{@“zs”:@"zhangsan",@"ls":@"lisi"};
- [dict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
- NSLog(@"%@:%@",key,obj);
- }];
- 黑马程序员-[OC]学习之旅-NSArray 和NSDictionary 的介绍
- 黑马程序员——OC之NSArray、NSDictionary
- 黑马程序员---OC学习笔记之NSDictionary的介绍及使用
- 黑马程序员----OC学习笔记之NSArray
- 黑马程序员——ios学习笔记 OC Foundation—NSArray&NSDictionary
- 黑马程序员 - OC语言 - NSDictionary的介绍及使用
- 黑马程序员----OC学习之NSDictionary及NSMutableDictionary
- 黑马程序员———OC语言 NSDictionary和 NSMutableDictionary的介绍
- 黑马程序员———OC语言 NSArray的介绍
- 黑马程序员-----oc语言学习笔记之foundation-NSArray
- 黑马程序员---OC学习笔记之NSArray与NSMutableArray
- 黑马程序员——OC语言加强---NSArray 的介绍和基本使用
- 黑马程序员——OC语言日志——NSArray的介绍和使用
- 黑马程序员--OC学习篇之Foundation框架中的NSArray对象和NSMutableArray对象
- 黑马程序员---OC学习笔记之NSFileManager介绍和用法
- NSArray / NSDictionary 的基本介绍和使用
- 黑马程序员---OC学习笔记之NSNumber和NSValue的介绍和使用
- 黑马程序员——类集合之NSArray,NSSet,NSDictionary
- ORA-09925: Unable to create audit trail file
- 字节数组转化为16进制字符串输出
- File(2) listFiles 文件过滤(FileFilter) 父目录getParentFile
- java中sql查询条件为中文时,rs.next为false,查询不到结果的解决办法
- 有一个坑。
- 黑马程序员-[OC]学习之旅-NSArray 和NSDictionary 的介绍
- Android笔记——Socket通信实现简单聊天室
- C# 资源释放及dispose、close方法
- Linux硬连接、软连接的原理 兼述磁盘组成&文件系统类型
- Cube Stacking 1988 (并查集 好题)
- 【LeetCode】(54)Spiral Matrix(Medium)
- artTemplate使用总结
- java中的泛型总结
- 将DataTable转换成EasyUITree的json格式 ---四级树