Snail—OC学习之可变数组NSMutableArray

可变数组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;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-07-30 02:59:52

Snail—OC学习之可变数组NSMutableArray的相关文章

Snail—OC学习之可变字符串NSMutableString

NSMutableString 继承于NSString 所以NSSting的所有方法NSMutableString都继承 并且也可以用 下面有两个方法NSString没有的 <span style="font-size:14px;">//长度为0 同样表示空的字符串 NSMutableString * str3 = [[NSMutableString alloc] initWithCapacity:0];</span> <span style="

不可变数组NSArray和可变数组NSMutableArray区别和用法

下面是相关的代码实现: #import <Foundation/Foundation.h> #import "Person.h" /* NSArray :不可变数组 NSMutableArray : 可变数组 */ int main() { // @[] 只创建不可变数组NSArray /* 错误写法 NSMutableArray *array = @[@"jack", @"rose"]; [array addObject:@&quo

可变数组NSMutableArray

//NSMutableArray 继承至 NSArray // NSArray * array = @[]; //1.创建可变数组 NSMutableArray * array = [[NSMutableArray alloc] initWithCapacity:0]; //使用addObject 动态给数组中增加元素 /* [array addObject:@"one"]; [array addObject:@"two"]; [array addObject:@&

【转】不可变数组NSArray与可变数组NSMutableArray

原文网址:http://www.jianshu.com/p/1ad327f56d1d 不可变数组NSArray //创建一个空数组 NSArray *array = [NSArray array]; //这样创建是没有意义的. //创建只有一个元素的数组 NSArray *array1 = [NSArray arrayWithArray:@"a"]; NSArray *array2 = [NSArray arrayWithObject:@"b"]; //使用便利构造

oc学习之NSArray与NSMutableArray数组

//创建数组对象,NSArray不可变数组 //[NSNull null]空对象 //NSArray *arr = [[NSArray alloc] initWithObjects:@"234",@"543",@"asb",nil]; NSArray *arr1 = @[@"1 2 3",@"234",[NSNull null],@"789"]; NSArray *arr3 = [[NS

Snail—OC学习之数组NSArray

NSArray是OC中的数组,是用来存储对象的.可以是重复的.有序的 新建一个Dog的类,在main.m中引入Dog的头文件 #import <Foundation/Foundation.h> #import "Dog.h" int main(int argc, const char * argv[]) { @autoreleasepool { Dog * dog = [[Dog alloc] init]; //数组的创建方式 //空数组创建 NSArray * arrry

OC—可变数组NSMutableArray

Snail—OC学习之文件操作(非读写)

#import <Foundation/Foundation.h> //宏定义一个文件夹的路径信息 #define path @"/Users/XXX/Desktop/Snail" //宏定义一个文件的路径 #define filePath @"/Users/XXX/Desktop/Snail/Snail3/Snail.txt" int main(int argc, const char * argv[]) { @autoreleasepool { //

OC学习篇之---数组对象的引用计数问题和自动释放池的概念

之前一片文章中我们介绍了OC中的两个关键字@property和@synthesize的使用的使用: http://blog.csdn.net/jiangwei0910410003/article/details/41925967 今天我们来看一下OC中数组对象在是如何处理对象元素的引用计数问题的,同时介绍一下自动释放池的相关概念 一.数组对象是如何处理对象元素的引用计数问题 // // main.m // 26_NSArrayMemeryManager // // Created by jian