博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NSArray和NSMutableArray的使用总结
阅读量:5013 次
发布时间:2019-06-12

本文共 4760 字,大约阅读时间需要 15 分钟。

NSMutableArray *MutableArray = [NSMutableArray alloc] arrayWithArray:array] //创建可变数组(从现有的数组上建立)

[MutableArray removeObjectAtIndex:1] //删除数组中指定位置的的元素
[MutableArray replaceObjectAtIndex:1 withObject:@"tihuan"] //在相应位置
for(NSString *string in MutableArray)
{ NSLog(@"string:%@",string);} //快速枚举数组中的值

 

 

/*******************************************************************************************

NSArray
*******************************************************************************************/

/*---------------------------创建数组 ------------------------------*/

//NSArray *array = [[NSArray alloc] initWithObjects:@"One",@"Two",@"Three",@"Four",nil];

/*-------------------------- 从一个数组拷贝数据到另一数组(可变数级)----------------------------*/

//arrayWithArray:

//NSArray *array1 = [[NSArray alloc] init];
NSMutableArray *MutableArray = [[NSMutableArray alloc] init];
NSArray *array = [NSArray arrayWithObjects:@"a",@"b",@"c",nil];
NSLog(@"array:%@",array);
MutableArray = [NSMutableArray arrayWithArray:array];
NSLog(@"MutableArray:%@",MutableArray);
array1 = [NSArray arrayWithArray:array];
NSLog(@"array1:%@",array1);

//Copy

//id obj;

NSMutableArray *newArray = [[NSMutableArray alloc] init];
NSArray *oldArray = [NSArray arrayWithObjects: @"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];

NSLog(@"oldArray:%@",oldArray);

for(int i = 0; i < [oldArray count]; i++)
{
obj = [[oldArray objectAtIndex:i] copy];
[newArray addObject: obj];
}
//
NSLog(@"newArray:%@", newArray);
[newArray release];

//快速枚举

//NSMutableArray *newArray = [[NSMutableArray alloc] init];

NSArray *oldArray = [NSArray arrayWithObjects:@"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];
NSLog(@"oldArray:%@",oldArray);

for(id obj in oldArray)

{
[newArray addObject: obj];
}
//
NSLog(@"newArray:%@", newArray);
[newArray release];

//Deep copy

//NSMutableArray *newArray = [[NSMutableArray alloc] init];

NSArray *oldArray = [NSArray arrayWithObjects:@"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];
NSLog(@"oldArray:%@",oldArray);
newArray = (NSMutableArray*)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (CFPropertyListRef)oldArray, kCFPropertyListMutableContainers);
NSLog(@"newArray:%@", newArray);
[newArray release];

//Copy and sort

//NSMutableArray *newArray = [[NSMutableArray alloc] init];

NSArray *oldArray = [NSArray arrayWithObjects: @"b",@"a",@"e",@"d",@"c",@"f",@"h",@"g",nil];
NSLog(@"oldArray:%@",oldArray);
NSEnumerator *enumerator;
enumerator = [oldArray objectEnumerator];
id obj;
while(obj = [enumerator nextObject])
{
[newArray addObject: obj];
}
[newArray sortUsingSelector:@selector(compare:)];
NSLog(@"newArray:%@", newArray);
[newArray release];

 

/*--------------------------- 切分数组------------------------------*/

//从字符串分割到数组- componentsSeparatedByString:

NSString *string = [[NSString alloc] initWithString:@"One,Two,Three,Four"];
NSLog(@"string:%@",string);
NSArray *array = [string componentsSeparatedByString:@","];
NSLog(@"array:%@",array);
[string release];

//从数组合并元素到字符串- componentsJoinedByString:
NSArray *array = [[NSArray alloc] initWithObjects:@"One",@"Two",@"Three",@"Four",nil];
NSString *string = [array componentsJoinedByString:@","];
NSLog(@"string:%@",string);

 

/*******************************************************************************************

NSMutableArray
*******************************************************************************************/
/*--------------- 给数组分配容量----------------*/
//NSArray *array;
array = [NSMutableArray arrayWithCapacity:20];

 

/*-------------- 在数组末尾添加对象----------------*/

//- (void) addObject: (id) anObject;
//NSMutableArray *array = [NSMutableArray arrayWithObjects: @"One",@"Two",@"Three",nil];
[array addObject:@"Four"];
NSLog(@"array:%@",array);

 

/*-------------- 删除数组中指定索引处对象----------------*/

//-(void) removeObjectAtIndex: (unsigned) index;
//NSMutableArray *array = [NSMutableArray arrayWithObjects:@"One",@"Two",@"Three",nil];
[array removeObjectAtIndex:1];
NSLog(@"array:%@",array);

 

/*------------- 数组枚举---------------*/

//- (NSEnumerator *)objectEnumerator;从前向后
//NSMutableArray *array = [NSMutableArray arrayWithObjects:@"One",@"Two",@"Three",nil];
NSEnumerator *enumerator;
enumerator = [array objectEnumerator];

id thingie;

while (thingie = [enumerator nextObject]) {
NSLog(@"thingie:%@",thingie);
}

//- (NSEnumerator *)reverseObjectEnumerator;从后向前
//NSMutableArray *array = [NSMutableArray arrayWithObjects:@"One",@"Two",@"Three",nil];
NSEnumerator *enumerator;
enumerator = [array reverseObjectEnumerator];

id object;

while (object = [enumerator nextObject]) {
NSLog(@"object:%@",object);
}

//快速枚举
//NSMutableArray *array = [NSMutableArray arrayWithObjects:@"One",@"Two",@"Three",nil];
for(NSString *string in array)
{
NSLog(@"string:%@",string);
}

转载于:https://www.cnblogs.com/foxmin/archive/2012/03/21/2410441.html

你可能感兴趣的文章
FORM值传递与地址传递
查看>>
(译)yaml快速教程
查看>>
C:大数相加
查看>>
160. Intersection of Two Linked Lists
查看>>
人生苦短,我用python-- Day11
查看>>
JAVA Bean
查看>>
ehcache memcache redis 三大缓存男高音_转
查看>>
curd_3
查看>>
百度地图API示例之设置地图显示范围
查看>>
Java构造方法、重载及垃圾回收
查看>>
.Net Core AES加密解密
查看>>
Spring Quartz实现任务调度
查看>>
python | 桶排序、冒泡排序、选择排序、去重
查看>>
两个Html页面之间值得传递
查看>>
EasyUI datagrid 的多条件查询
查看>>
Mac升级bash到最新版本
查看>>
利用vagrant打包系统--制作自己的box
查看>>
美女与硬币问题
查看>>
计算几何算法概览 (转)
查看>>
Notepad++的ftp远程编辑功能
查看>>