在OC的开发过程中数组的使用是非常频繁的,对于初学者来说,创建也是一道必过的关卡;
OC中数组有NSArray和NSMutableArray.其中NSArray创建的数组对象是不可变的,同NSString一样.在对其进行操作的时候都是返回一个新的数组.而NSMutableArray是创建一个可变的数组对象;
NSArray
创建不可变数组对象
NAMutableArray:创建可变数组对象
数组中的元素都是对象,可以为任意类型的对象,在一个数组中可以存不同类型的对象
数组中存储的是对象的引用(对象的地址);
我们通过具体的例子来看NSArray的创建及使用:
//
// 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;
}
本文介绍了OC开发中数组的使用,重点关注NSArray和NSMutableArray的创建。NSArray是不可变数组,操作时会返回新数组,而NSMutableArray则允许动态改变数组内容。数组内部存储的是对象的引用,可以容纳不同类型的对象。
1657

被折叠的 条评论
为什么被折叠?



