NSMutableArray 使用如下:
#import "MS_NSMutableArray.h"
@implementation MS_NSMutableArray
@synthesize _nsMutableArray;
-(void)showMutableArray
{
//可变数组
_nsMutableArray = [[NSMutableArray alloc] initWithCapacity:0];
//数组增加元素
//(1)
for(int i=0;i<3;i++)
{
[_nsMutableArray addObject:[NSString stringWithFormat:@"A%i",i]];
}
NSLog(@"MutableArray Length addObject:%lu",_nsMutableArray.count);
//(2)
NSArray *array1 = [NSArray arrayWithObjects:@"B",@"C",@"D", nil];
[_nsMutableArray addObjectsFromArray:array1];
NSLog(@"MutableArray Length addObjectsFromArray:%lu",_nsMutableArray.count);
for(id item in _nsMutableArray)
{
//NSLog(@"MutableArray Item : %@",item);
}
//插入数组元素
//(1)
[_nsMutableArray insertObject:@"B" atIndex:0];
//(2)
NSRange rangle = NSMakeRange(0, 3);
NSIndexSet *indexSet = [[NSIndexSet alloc] initWithIndexesInRange:rangle];
[_nsMutableArray insertObjects:array1 atIndexes:indexSet];
for(id item in _nsMutableArray)
{
//NSLog(@"MutableArray item : %@",item);
}
//修改数组元素
//(1)
[_nsMutableArray replaceObjectAtIndex:[array1 count] withObject:@"A"];
for(id item in _nsMutableArray)
{
//NSLog(@"MutableArray item:%@",item);
}
//(2)
NSRange range = NSMakeRange(4, 3);
NSArray *array2 = [NSArray arrayWithObjects:@"Replace Objects", nil];
[_nsMutableArray replaceObjectsInRange:range withObjectsFromArray:array2];
for(id item in _nsMutableArray)
{
NSLog(@"MutableArray Item:%@",item);
}
//数组排序
/* 在NSMutableArray 中 使用 NSArray的排序方法,不起作用,使用NSMutableArray中排序方法
[_nsMutableArray sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
if(obj1 > obj2)
{
return NSOrderedDescending;
}
else if(obj1 < obj2)
{
return NSOrderedAscending;
}
return NSOrderedSame;
}];
*/
//NSMutableArray 排序方法
[_nsMutableArray sortUsingComparator:^NSComparisonResult(id obj1, id obj2)
{
if(obj1 > obj2)
{
return NSOrderedDescending;
}
else if(obj1 < obj2)
{
return NSOrderedAscending;
}
return NSOrderedSame;
}];
for(id item in _nsMutableArray)
{
NSLog(@"MutableArray Sorted Item:%@",item);
}
//删除数组元素
[_nsMutableArray removeObject:0];
[_nsMutableArray removeLastObject];
[_nsMutableArray removeObjectAtIndex:2];
NSRange range2 = NSMakeRange(0, 2);
NSIndexSet *indexSet2 = [[NSIndexSet alloc] initWithIndexesInRange:range2];
[_nsMutableArray removeObjectsAtIndexes:indexSet2];
[_nsMutableArray removeAllObjects];
NSLog(@"_nsMutableArray Count %lu",[_nsMutableArray count]);
}
@end