NSArray和普通数组有什么区别?

时间:2015-01-10 08:24:52

标签: objective-c arrays nsarray

我是Objective-c的新手。我感到在NSArray和普通数组之间感到困惑。请告诉我何时使用NSArray以及何时使用普通数组?

1 个答案:

答案 0 :(得分:3)

NSArray是一个Objective-C对象,用于存储NSObject的集合(例如NSStringNSNumberNSDictionary等)

示例:

NSArray *myArray = @[@"String 1",@"String 2",@"String 3"];

(上面使用Objective-C文字来定义NSArray NSStrings - 见http://clang.llvm.org/docs/ObjectiveCLiterals.html

Objective-C构建于C之上,C还包括数组(小写' a'),它们通常用作原始数据类型的集合(例如int,{{例如,1}}等。

示例:

char

C数组也可用于存储指针,指针可以指向内存中的对象,如CRD / Jef在评论中所指出的那样。

两者都有它们有用的情况,但是与一个或另一个一起使用的常见原因之一是你是否需要存储对象或基元。虽然如上所述,C数组可以处理对象,但通常更常见的做法是使用int myArray[10] = { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }; 来处理它。

此外,NSArray还有一系列便利功能(例如NSArraycount),可以帮助您处理数据。请参阅lastObject https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/

上的Apple文档

注意:如果您需要具有不同大小的数组,请查看NSArray