您的位置:首页 > 大数据 > 人工智能

Snail—OC学习之可变数组NSMutableArray

2015-07-22 11:12 537 查看
可变数组NSMutableArray 继承于 NSArray  NSArray的所有方法都适用于可变数组

下面是可变数组的一些初始化方法

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

@autoreleasepool {

//可变数组继承于不可变数组
//空的可变数组
NSMutableArray * array = [[NSMutableArray alloc] init];
//传入0 就是新建了一个空数组
NSMutableArray * array2 = [[NSMutableArray alloc] initWithCapacity:0];
//以一个数组来创建新的数组
NSMutableArray * array3 = [[NSMutableArray alloc] initWithArray:array];

//初始化添加对象 nil是占位的
NSMutableArray * array4 = [[NSMutableArray alloc] initWithObjects:@"dsa",@"sd",nil];

//简易初始化方法只适用于不可变数组
//NSMutableArray * array5 = @[@"dsa",@"sd"];

//类方法形式创建数组
NSMutableArray * arr1 = [NSMutableArray array];
NSMutableArray * arr2 = [NSMutableArray arrayWithArray:array];
//一个长度为0的可变数组
NSMutableArray * arr3 = [NSMutableArray arrayWithCapacity:0];
NSMutableArray * arr4 = [NSMutableArray arrayWithObjects:@"sda",@"asd",nil];

}
return 0;
}

跟可变数组相似的原理,可变数组可以对其里面的元素进行相应的方法
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

@autoreleasepool {

NSMutableArray * array = [[NSMutableArray alloc] init];

//增加一个元素
[array addObject:@"one1"];
NSArray * array2 = @[@"sda",@"sad",@"one"];
//添加多个元素
[array addObjectsFromArray:array2];

//删除所有跟参数相同的对象
[array removeObject:@"one"];
//删除指定位置的元素
[array removeObjectAtIndex:0];
//删除所有元素
//如果是空数组 调用下面这个方法数据会报错
[array removeAllObjects];

//删除最后一个元素,但是空数组不会报错
[array removeLastObject];
//删除多个元素
[array removeObjectsInArray:array2];

//从下标开始,删除几个元素 从下标0开始删除 要删除两个
NSRange range = NSMakeRange(0, 2);
[array removeObjectsInRange:range];

}
return 0;
}


可变数组的一些关于元素的方法
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

@autoreleasepool {

NSMutableArray * array = [[NSMutableArray alloc] init];

//重置数组 参数可以是任何数组
[array setArray:@[@"Snail",@"Daodao",@"Jian"]];

//替换 将下标为1的元素替换成@"jianjian"
[array replaceObjectAtIndex:1 withObject:@"Jian"];

//交换 将下标为1的元素 跟下标为2的元素交换
[array exchangeObjectAtIndex:1 withObjectAtIndex:2];

//插入 下标2将会新插入一个元素 其他元素顺序往后移动
[array insertObject:@"j" atIndex:2];

}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: