在OC中若想创建一个可变的数组对象,则使用NSMutableArray,该类可以创建一个可变的数组对象,即所在的内存块中的数据可以修改,而不需要重新定义一个新的数组对象.
NSArray
创建不可变数组对象
NAMutableArray:创建可变数组对象
数组中的元素都是对象,可以为任意类型的对象,在一个数组中可以存不同类型的对象
数组中存储的是对象的引用(对象的地址);
NSMutableArray中几种方法的使用如下:
//
// main.m
// IOS150611_ObjectiveC_CreateArray
//
// Created by qianfeng on 15/6/11.
// Copyright (c) 2015年 Peng Junlong. All rights reserved.
//
//**************************
//* *
//* 创建数组 *
//* *
//**************************
#import <Foundation/Foundation.h>
//NSArray
//创建不可变数组对象
//NAMutableArray:创建可变数组对象
//数组中的元素都是对象,可以为任意类型的对象,在一个数组中可以存不同类型的对象
//数组中存储的是对象的引用(对象的地址);
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSArray *array1 = @[@"One",@"Two",@"Three"];
NSLog(@"array1 = %@",array1);
//结果:array1 = (
// One,
// Two,
// Three
// )
//数组中的元素都是对象,可以为任意类型的对象
//用给定对象创建数组对象
NSArray *array2 = [[NSArray alloc] initWithObjects:@"Hello",[NSNumber numberWithInt:123],[NSDate date], nil];//最后一定有一个nil,表示传入的对象结束
NSLog(@"array2 = %@",array2);
//结果:array2 = (
// Hello,
// 123,
// "2015-06-11 06:28:35 +0000"
// )
//用其他数组创建数组对象
NSArray *array3 = [[NSArray alloc] initWithArray:array1];
NSLog(@"array3 = %@",array3);
NSArray *array4 = [[NSArray alloc] initWithArray:array2 copyItems:YES];
NSLog(@"array4 = %@",array4);
//================类方法===============
//创建一个空的数组对象
//+ (instancetype)array;
NSArray *array5 = [NSArray array];
NSLog(@"array5 = %@",array5);
NSArray *array6 = [NSArray arrayWithObjects:@"One",@"Two",@"Three", nil];
NSLog(@"array6 = %@",array6);
NSArray *array7 = [NSArray arrayWithArray:array6];
NSLog(@"array7 = %@",array7);
}
return 0;
}