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);
字符串分隔
- NSString *str = @"400-800-900";
- NSArray *arr = [str componentsSepareteByString:@"-";
-
NSLog(@"%@",arr)'
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);
- }];
-