黑马程序员-----oc语言学习笔记之foundation-NSArray
来源:互联网 发布:哈工大威海怎么样 知乎 编辑:程序博客网 时间:2024/05/29 18:17
------<Java培训、Android培训、iOS培训、.Net培训>、期待与您交流! -------
NSArray
NSArray是oc中的数组
*******************************************************************************
只能存储oc对象 是不可变的 初始化完后不能添加元素
NSAarry的创建方式
NSArray *arr =[NSArray arrayWithObjects:@"ong",@"two",nil];
NSAarry 创建时候的注意
NSArray *array = [NSArray array]; // 这样的数组永远是空的,不可能向其中增加值。(不可
变性)
NSArray中间不能存储nil,因为NSArray认为nil是数组的结束,这样后面的值就丢失了
********************************************************************************
NSArry的常见的用法
获取元素的个数
- (NSUInteger)count;
获得index位置的元素
- (id)objectAtIndex:(NSUInteger)index;
返回最后一个元素
- (id)lastObject;
查找anObject元素在数组中的位置(如果找不到,返回-1)NSNotFound
- (NSUInteger)indexOfObject:(id)anObject;
在range范围内查找anObject元素在数组中的位置
- (NSUInteger)indexOfObject:(id)anObject inRange:(NSRange)range;
******************************************************************************
//NSArray的下标遍历NSArray *arr=[NSArray arrayWithObjiects:@"1",@"2",@"3",@"4",nil];for(int i=0;i<arr.count;i++){NSLog(@"%@",arr[i]);}//快速遍历for(id *str in arr){NSLog(@"%@",id);}//block遍历[arr enumerateObjectsUsingBlock:^(id obj,NSUInteger idx,BOOL *stop){NSLog(@"下标:%ld,值为%@",idx,obj)}];
***************************************************************************************
NSArray数据写入到文件中
NSArray *arr = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5", nil];//写入数据到文件中if([arr writeToFile:@"/Users/liwei/Desktop/arr.plist" atomically:YES]){NSLog(@"写入成功!");}
从文件中读取数据到NSArray
//创建一个数组,读取xml文件NSArray *arr = [NSArray arrayWithContentsOfFile:@"/Users/liwei/Desktop/arr.xml"];NSLog(@"%@",arr);//创建一个数组,读取plistNSArray *arr = [NSArray arrayWithContentsOfFile:@"/Users/liwei/Desktop/arr.plist"];NSLog(@"%@",arr)]
NSMutableArray
NSMutableArray是可变的, 随时可以往里面添加\更改\删除元素
NSMutableArray的创建
//创建空数组
NSMutableArray *arr = [NSMutableArray array];
//创建数组,并且指定长度为5,此时也是空数组
NSMutableArray *arr2 = [[NSMutableArray alloc] initWithCapacity:5];
//创建一个数组,包含两个元素
NSMutableArray *arr3 = [NSMutableArray arrayWithObjects:@"1",@"2", nil];
//调用对象方法创建数组
NSMutableArray *arr4 = [[NSMutableArray alloc] initWithObjects:@"1",@"2", nil];
*****************************************************************************************
NSMutableArray的方法
- (void)insertObject:(id)anObject atIndex:(NSUInteger)index;
在index位置插入一个元素
NSMutableArray *arr = [NSMutableArray arrayWithObjects:@"1",@"2", nil];[arr addObject:@"3"];[arr insetObject:@"4" atIndex:4];
- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject;
用anObject替换index位置对应的元素
NSMutableArray *arr = [NSMutableArray arrayWithObjects:@"1",@"2", nil];[arr replaceObjectAtIndex:0 withObject:@"one"];NSLog(@"%@",arr)]
- (void)exchangeObjectAtIndex:(NSUInteger)idx1 withObjectAtIndex:(NSUInteger)idx2;
交换idx1和idx2位置的元素
***************************************************************************************
NSMutableArray 的错误用法
NSMutableArray *array = @[@"bob", @"steve", @"john"];
快速创建的对象是NSArray 赋值给NSMutableArray后,array变成NSArry
就不能再添加元素了[array addObject:@“Peter”]
NSMutableArray *array = [NSMutableArray arrayWithArray:@[@"bob", @"steve", @"john"]];[array addObject:@"Peter"];
- 黑马程序员-----oc语言学习笔记之foundation-NSArray
- 黑马程序员-OC语言-Foundation-NSArray
- 黑马程序员-----oc语言学习笔记之foundation框架-NSString
- 黑马程序员----OC学习笔记之NSArray
- 黑马程序员-OC-Foundation-NSArray
- 黑马程序员-[OC语言] 第七篇:foundation框架之NSArray、NSDitctionary 基本用法
- 黑马程序员---OC学习笔记之NSArray与NSMutableArray
- 黑马程序员——ios学习笔记 OC Foundation—NSArray&NSDictionary
- 黑马程序员--OC学习篇之Foundation框架中的NSArray对象和NSMutableArray对象
- 黑马程序员学习笔记-OC之foundation框架
- 黑马程序员:OC学习日记之Foundation
- 黑马程序员-----Foundation框架学习之NSArray学习
- 黑马程序员-ios学习笔记 Foundation 中的 NSArray
- 黑马程序员 -- OC语言 Foundation
- 黑马程序员——Foundation学习之NSArray\NSMutableArray
- 黑马程序员-OC语言-Foundation框架(听课笔记)
- 黑马程序员-Foundation框架之NSArray类
- 黑马程序员--OC自学笔记---10Foundation、NSString、NSURL、NSRange、NSArray、NSMutableArray、NSDictionary
- iOS基础(c)—指针
- 浅析使用SAX解析XML
- DFS分布式文件系统及其部署
- android studio安装中的问题
- 随机数生成器
- 黑马程序员-----oc语言学习笔记之foundation-NSArray
- Linux系统下如何配置SSH?如何开启SSH?
- 面试WH mystcpy mystrnpy 链表
- [Vim]以sudo权限来保存vim打开的readonly文件
- leetcode - Convert Sorted List to Binary Search Tree
- 计算机程序设计员国家职业资格三级操作技能考核试卷-带实际操作答案
- Regular Expression Matching
- Swift --- 面向对象中类和对象的属性
- String StringBuffer StringBuilder