NSArray的创建(一)
NSArray是OC三大基础数据结构之一, 与字符串, 字典一样的重要. 这里我们来讲解一下Array的一些常用方法以及注意的事项.
其实在OC上创建NSArray有很多方法可以使用.
比如:
initWithObjects: 这个方法就是创建一个字符串数组.
description: 关于这个方法.详情请去看http://www.cnblogs.com/iOSCain/p/4019697.html
而我这里是利用了重写description的一个方法创建了一个字符串数组, 下面让我们来看看例子吧~
首先我们需要新建一个Cocoa.class文件.
Human.h文件
#import <Foundation/Foundation.h> @interface Human : NSObject @end
Human.m文件
#import "Human.h" @implementation Human - (NSString *)description { return @"I am a human!"; } @end
main.m文件
#import <Foundation/Foundation.h> #import "Human.h" int main(int argc, const char * argv[]) { @autoreleasepool { //这里我们重写了Description的方法. Human *human = [Human new]; //NSLog(@"human = %@", human); //打印description就是打印它的返回值的地址. //输出结果是: //2014-10-11 20:28:40.062 NSArray[2314:303] human = I am a human! //Program ended with exit code: 0 NSArray *array = [[NSArray alloc]initWithObjects:@"One", @"Tow", @"Three", human, nil]; //为什么这里会使用字符串呢, 那是因为用字符串创建的数组比较的简单. //而且数组中装的是元素的地址, 不是值. //一个元素可以在多数组中使用. NSLog(@"array = %@", array); //打印数组, 就是打印数组里的每一个元素. //为什么在OC中可以这么简便的打印出数组呢? //为什么把human放到数组里的输出结果会是"I am a human!"? //那是因为human返回的地址不是一个单词, 而是一个字符串. [array release]; [human release]; } return 0; }
输出的结果:
2014-10-12 13:42:51.657 NSArray[1216:303] array = ( One, Tow, Three, "I am a human!" ) Program ended with exit code: 0