Objective-C中NSArray和NSMutableArray的基本用法
2016-04-12 23:22
573 查看
/*---------------------NSArray---------------------------*/ //创建数组 NSArray *array1 = [NSArray arrayWithObject:@"1"]; NSArray *array2 = [NSArray arrayWithObjects:@"1",@"2",@"3",nil]; NSArray *array3 = [NSArray arrayWithArray:array2]; NSLog(@"array1 = %@",array1); NSLog(@"array2 = %@",array2); NSLog(@"array3 = %@",array3); //获取数组内数据个数 int count = [array2 count]; NSLog(@"array2 size is %d",count); //访问数组内的数据 NSString *str1 = [array2 objectAtIndex:0]; NSLog(@"array2 first content is %@",str1); //数组中插入数据 返回新的数组 NSArray *array4 = [array3 arrayByAddingObject:@"4"]; NSLog(@"array4 = %@",array4); //数组内的数据以制定字符连接 NSString *str2 = [array4 componentsJoinedByString:@","]; NSLog(@"str2 = %@",str2); //判断数组中是否包含某对象 BOOL b1 = [array4 containsObject:@"4"]; BOOL b2 = [array4 containsObject:@"5"]; NSLog(@"b1 = %d,b2 = %d",b1,b2); //取数组内制定对象的索引 int index = [array4 indexOfObject:@"4"]; NSLog(@"index = %d",index); NSString *str3 = [array4 lastObject]; NSLog(@"array4 last object is %@",str3); /*-----------------------可变数组NSMutableArray-----------------------------------------*/ //定义一个空的数组 NSMutableArray *mArray2 = [[NSMutableArray alloc]init]; //初始化数组 指定数组长度 但可变 NSMutableArray *mArray1 = [NSMutableArray arrayWithCapacity:5]; //向数组中添加元素 [mArray1 addObject:@"aaaa"]; [mArray1 addObject:@"cccc"]; NSLog(@"mArray1 = %@",mArray1); //向指定位置插入元素 [mArray1 insertObject:@"bbbb" atIndex:1]; [mArray1 insertObject:@"dddd" atIndex:[mArray1 count]]; [mArray1 insertObject:@"eeee" atIndex:[mArray1 count]]; NSLog(@"mArray1 = %@",mArray1); //移除元素 [mArray1 removeObject:@"eeee"]; NSLog(@"mArray1 = %@",mArray1); [mArray1 removeObjectAtIndex:[mArray1 count]-1]; NSLog(@"mArray1 = %@",mArray1); NSArray *array5 = [NSArray arrayWithObjects:@"bbbb",@"cccc",nil]; [mArray1 removeObjectsInArray:array5]; NSLog(@"mArray1 = %@",mArray1); //向数组内插入数组 NSMutableArray *mArray2 = [NSMutableArray arrayWithObjects:@"aaaa",@"aaaa",nil]; [mArray2 addObject:@"bbbb"]; NSLog(@"mArray2 = %@",mArray2); [mArray2 addObjectsFromArray:array4]; NSLog(@"mArray2 = %@",mArray2); //替换元素 [mArray2 replaceObjectAtIndex:[mArray2 count]-1 withObject:@"5"]; NSLog(@"mArray2 = %@",mArray2); //遍历数组 常规方法:性能较低 NSArray *array6 = [NSArray arrayWithObjects:@"a",@"b",@"c",@"d",@"e",nil]; int len = [array6 count]; for (int i=0; i<len; i++) { NSString *value = [array6 objectAtIndex:i]; NSLog(@"array6 %d content is %@",i,value); } //枚举遍历 相当于java中的增强for循环 for (NSString *string in array6) { NSLog(@"array6 content is %@",string); } NSLog(@"-----------------------"); //当不确定数组元素类型时 for(id string in array6){ NSLog(@"array6 content is %@",string); }
相关文章推荐
- ObjectAttribute.js
- OC学习日记Day1:程序怎么执行、类和对象
- Attach、Detach和DeleteObject
- Qt Meta Object System-元对象系统
- For语句去循环,Objective C 提供一个Block的遍历方法
- 【NodeJs】用arrayObject.join('')处理粘包的错误原因
- javascript学习笔记 - 引用类型 Object
- Objective-C 字符串NSString
- Objective-C 面向对象的编程语言
- 解决a different object with the same identifier value was already associated with the session错误
- Objective-C修改cell左滑按钮背景色
- 关于SQLite,java.lang.IllegalStateException: attempt to re-open an already-closed object
- IOS基础:深入理解Objective-c中@class的含义
- warning: (armv7) /Users/lijiajia/...AlipaySDK4Sunable to open object file: No such file or directory
- Object有哪些公用方法
- HyperNet: Towards Accurate Region Proposal Generation and Joint Object Detection
- NSObject中的常用方法
- Excessive AWR Growth From Partitioned Objects Such as SYS.WRH$_EVENT_HISTOGRAM Causing Sysaux to Grow
- JSONObject使用方法
- [Rational Rose 2007]解决启动报”解决无法启动此程序因为丢失suite objects.dll“的问题