黑马程序员———Objctive-C———【NSArray不可变数组、NSMutableArray可变数组】
来源:互联网 发布:隐藏软件的桌面 编辑:程序博客网 时间:2024/06/08 00:29
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
——————————————————————————————————————————————————————————————————
NSArray的常用方法
- (NSUInteger)count; 获取集合元素个数
- (id)objectAtIndex:(NSUInteger)index; 获得index位置的元素
- (BOOL)containsObject:(id)anObject; 判断是否包含元素
- (NSUInteger)indexOfObject:(NSString *)string; 获取元素的位置
快速创建Array数组
Array array=@[@"1",@"2",@"3",@4];
用简化的方式访问数组元素
array[3]; //NSString str=array[3]; str=4
NSArray的遍历方法
(1)下标遍历
方法:普通的for循环方法
(2)快速遍历
方法:
NSArray array=@[@"one",@"two",@"three"];
for(NSString * str in array){
NSLog(@"%@ ",str);
}
(3)使用block遍历
方法:
参数id obj:当前对象
参数NSUInteger idx:当前对象的位置
参数BOOL *stop:是否停止
arr enumerateObjectsUsingBlock:^(id obj,NSUInteger idx,BOOL *stop){
if(idx==2){
*stop=YES; //只打印前两个元素,当位置为2时,break
}else{
NSLog(@"idx=%ld,obj=%@",idx,obj);
}
}
NSArray读写文件
写入数据和读取数据
NSArray *array=[NSArray arrayWithObjects:@"one",@"two",@"three",@"foure",nil];
//把NSArray中的内容,写入到文件arr.plist中
BOOL isWrite=[array writeToFile:@"/Users/zhaoxiaohu/Desktop/arr.plist" atomically:YES];
if(isWrite){
NSLog("写入成功");
}
//读取
NSArray *readArray=[NSArray arrayWithContentsOfFile:@"/Users/zhaoxiaohu/Desktop/arr.plist"];
NSLog(@"%@",readArray);
NSArray与字符串
(1)把数组元素链接成字符串
components:组成、构成
separator:分离器
- (NSString *)componentsJoinedByString:(NSString *)separator;
这是NSArray的方法,用separator作拼接符将数组元素拼接成一个字符串
(2)-(1)把一个字符串分割成数组
NSString *str2=@"400-800-1258";
NSArray *arr2=[str2 componentsSeparatedByString:@"-"];
NSLog(@"%@",[arr2 firstObject]);
NSLog(@"%@",[arr2 lastObject]);
NSLog(@"%@",arr2[1]);
(2)-(2)
str2=@"400-800-12580#400-888-11200";
NSArray *arr3=[str2 componentsSeparatedByString:@"#"];
NSLog(@"arr3=%@",arr3); //400-800-12580 400-888-11200
//第一个电话的每一部分
NSArray *arr4=[[arr3 firstObject] componentsSeparatedByString:@"-"];
NSLog(@"arr4=%@",arr4); //400 800 12580
NSMutableArray介绍、使用
(1)空数组
NSMutableArray *arr=[NSMutableArray array];
(2)创建数组的时候,初始化一个元素
NSMutableArray *arr2=[NSMutableArray arrayWithObject:@"one"];
(3)创建数组的时候,初始化多个元素
NSMutableArray *arr3=[NSMutableArray arrayWithObjects:@"one",@"two",@3,nil];
(4)创建一个数组,并且指定长度
NSMutableArray *arr4=[NSMutableArray arrayWithCapacity:(NSUInteger)];
Capacity:容量
(5)增加元素
- (void)addObject:(id)object;
(5)-(1)在指定的位置插入元素
- (void)addObject:(id)object atIndex:(NSUInteger)idx;
(6)删除元素
根据对象内容删除
removeObject:(id)object;
根据对象下标删除
removeObjectAtIndex:(NSUInteger)idx;
删除最后一个元素
- (void)removeLastObject;
删除所有元素
- (void)removeAllObjects;
删除range范围内的所有元素
- (void)removeObjectsInRange:(NSRange)range;
(7)修改元素
快捷方法
arr[0]=@"one";
用anObject替换index位置对应的元素
- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject;
(8)查找元素
- (BOOL)containsObject:(id)object;
(9)交换元素(该方法很重要)
- (void)exchangeObjectAtIndex:(NSUInteger) withObjectAtIndex:(NSUInteger);
(10)NSMutable使用注意事项
使用该种方式创建的数组永远是不可变的
NSMutableArray *array=@[@"ONE",@"TWO"...];
[array addObject:@"Peter"];
NSDictionary介绍、使用
NSDictionary的创建、初始化
(1)创建空字典(无意义,因为NSDictionary不可变,一旦创建,内容不能修改)
NSDictionary *dict1=[NSDictionary dictionary];
(2)创建只有一组键值对的地段
NSDictionary *dict2=[NSDictionary dictionaryWithObject:(id) forKey:(id< NSCopying>)];
eg:NSDictionary *dict2=[NSDictionary dictionaryWithObject:@"张三" forKey:@"zs"];
(3)创建多组键值对的字典
NSDictionary *dict3=[NSDictionary dictionaryWithObjectsAndKeys:(id),nil];
eg:NSDictionary *dict3=[NSDictionary dictionaryWithObjectsAndKeys:@"value1",@"k1",@"value2",@"k2",nil];
注意1:key值和value值都必须是对象类型
注意2:如果key值重复,不会报错,只能保存先定义的键值对
(4)快速创建字典
格式:@{key值:value值...};
eg:NSDictionary *dict4=@{@"zs":@"zhangsan",@"ls":@"lisi"};
获取键值对数目、根据key获取value- (NSUInteger)count; //获取不重复的键值对的数目
- (id)objectForKey:(id)aKey;
遍历(1)使用forin
第1步:获取所有的key
第2步:根据key获取value
for(NSString *key in dict4){
NSLog(@"key=%@,value=%@",key,[dict4 objectForKey:key]);
}
(2)使用block
[dict4 enumerateKeysAndObjectsUsingBlock:^(id key,id obj,BOOL *stop){
NSLog(@"%@=%@",id,obj);
}];
0 0
- 黑马程序员———Objctive-C———【NSArray不可变数组、NSMutableArray可变数组】
- Objective-C(十一、不可变数组NSArray,可变数组NSMutableArray)——iOS开发基础
- 黑马程序员——Objective-C学习之不可变与可变集合(NSArray\NSMutableArray)
- iOS开发学习第十七课——NSArray(不可变数组) 和 NSMutableArray(不可变数组)
- 不可变数组NSArray和可变数组NSMutableArray
- 不可变数组(NSArray)与可变数组(NSMutableArray)
- 不可变数组NSArray与可变数组NSMutableArray
- 数组的常用方法(不可变:NSArray, 可变:NSMutableArray)
- Foundation框架—数组 NSArray -NSMutableArray
- Objective-C语言——NSMutableArray可变数组
- 黑马程序员——Objective-C学习之不可变与可变字符串(NSString\NSMutableString)
- 黑马程序员——Objective-C学习之不可变与可变字典(NSDictionary\NSMutableDictionary)
- OC 中的数组方法(不可变数组NSArray 和 可变数组 NSMutableArray)
- 不可变数组NSArray和可变数组
- 不可变数组NSArray和可变数组NSMutableArray区别和用法
- OC语言 集合>>不可变数组(NSArray) 与 可变数组(NSMutableArray)
- ios可变数组NSMutableArray和不可变数组NSArray的区别
- 黑马程序员——Foundation学习—-----NSArray和NSMutableArray
- instanceof typeof 运算符
- 封装的JDBC工具类
- Struts2类型转换(二)----集合类型
- 换博客啦!!!! www.ckboss.cf
- 爱是一声叹息
- 黑马程序员———Objctive-C———【NSArray不可变数组、NSMutableArray可变数组】
- excel表格
- Spring的事务传播属性,数据库的隔离级别
- 怎么样才能增加积分
- servlet中获取页面复选框数据
- 开源Jabber(XMPP) IM服务器介绍
- web.config中配置数据库转接
- 最小的K个数(算法)
- VC6.0 DLL调用与创建的例子(HOOK)