黑马程序员——Foundation框架—NSArray
2015-11-03 11:05
232 查看
——- android培训、java培训、期待与您交流! ———-
NSArray是OC中的数组类, 开发中建议尽量使用NSArray替代C语言中的数组
C语言中数组的弊端
int array[4] = {10, 89, 27, 76};
只能存放一种类型的数据.(类型必须一致)
不能很方便地动态添加数组元素、不能很方便地动态删除数组元素(长度固定)
2)NSArray的使用注意
1、只能存放任意OC对象, 并且是有顺序的
2、不能存储非OC对象, 比如int\float\double\char\enum\struct等
3、它是不可变的, 一旦初始化完毕后, 它里面的内容就永远是固定的, 不能删除里面的元素, 也不能再往里面添加元素
1、NSArray的基本介绍
1)什么是NSArray?NSArray是OC中的数组类, 开发中建议尽量使用NSArray替代C语言中的数组
C语言中数组的弊端
int array[4] = {10, 89, 27, 76};
只能存放一种类型的数据.(类型必须一致)
不能很方便地动态添加数组元素、不能很方便地动态删除数组元素(长度固定)
2)NSArray的使用注意
1、只能存放任意OC对象, 并且是有顺序的
2、不能存储非OC对象, 比如int\float\double\char\enum\struct等
3、它是不可变的, 一旦初始化完毕后, 它里面的内容就永远是固定的, 不能删除里面的元素, 也不能再往里面添加元素
2、NSArray创建
NSArray的创建方式+ (instancetype)array; + (instancetype)arrayWithObject:(id)anObject; + (instancetype)arrayWithObjects:(id)firstObj, ...; + (instancetype)arrayWithArray:(NSArray *)array; + (id)arrayWithContentsOfFile:(NSString *)path; //读取一个xml文件. + (id)arrayWithContentsOfURL:(NSURL *)url; // 读取一个xml文件
2、NSArray的方法使用
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //类方法数组创建 NSArray *array1 = [NSArray arrayWithObject:@"obj"]; NSArray *array2 = [NSArray arrayWithObjects:@"obj1", @"obj2", @"obj3", nil]; NSArray *array3 = [NSArray arrayWithArray:array2]; NSLog(@"array1 :%@", array1); NSLog(@"array2 :%@", array2); NSLog(@"array3 :%@", array3); //实例方法创建数组 NSArray *array4 = [[NSArray alloc] initWithObjects:@"AAA", @"bbb", nil]; NSLog(@"array4 :%@", array4); //数组个数 NSLog(@"array3 count :%d", [array3 count]); //访问元素 NSLog(@"obj at index :%@", [array2 objectAtIndex:2]); //追加(返回新的array对象) NSArray *array5 = [array3 arrayByAddingObject:@"ccc"]; NSLog(@"array5 :%@", array5); //根据指定的字符串连接数组元素 NSString *joinString1 = [array5 componentsJoinedByString:@"|"]; NSLog(@"joinString :%@",joinString1); //是否包含指定对象 NSLog(@"isContains :%d", [array5 containsObject:@"obj2"]); //查找某个对象所在索引 NSLog(@"indexOfObject :%d",[array5 indexOfObject:@"obj3"]); //最后一个元素 NSLog(@"lastObejct :%@", [array5 lastObject]); //遍历数组 for (id element in array5) { NSLog(@"element :%@", element); } //可变数组(期望容量设置为3) NSMutableArray *mutableArray = [NSMutableArray arrayWithCapacity:3]; //直接添加 [mutableArray addObject:@"aaa"]; [mutableArray addObject:@"eee"]; [mutableArray addObject:@"000"]; NSLog(@"addObject :%@", mutableArray); //插入元素 [mutableArray insertObject:@"ccc" atIndex:0]; NSLog(@"insertObject :%@", mutableArray); //移除指定元素 [mutableArray removeObject:@"ccc"]; NSLog(@"removeObject :%@", mutableArray); //移除指定下标元素 [mutableArray removeObjectAtIndex:0]; NSLog(@"removeObjectAtIndex :%@", mutableArray); //移除最后一个元素 [mutableArray removeLastObject]; NSLog(@"removeLastObject :%@", mutableArray); //添加数组 [mutableArray addObjectsFromArray:array5]; NSLog(@"addObjectsFromArray :%@", mutableArray); //移除指定数组中的内容 [mutableArray removeObjectsInArray:array2]; NSLog(@"removeObjectsInArray :%@", mutableArray); //指定索引替换对象 [mutableArray replaceObjectAtIndex:0 withObject:@"==="]; NSLog(@"replaceObjectAtIndex :%@", mutableArray); //删除全部对象 4000 [mutableArray removeAllObjects]; NSLog(@"removeAllObjects :%@", mutableArray); } return 0; }
相关文章推荐
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C语言查找数组里数字重复次数的方法
- C语言泛型编程实例教程
- C语言中使用lex统计文本文件字符数
- 在C语言中转换时间的基本方法介绍
- C语言进制转换代码分享