我是Objective-c的新手。我感到在NSArray和普通数组之间感到困惑。请告诉我何时使用NSArray以及何时使用普通数组?
答案 0 :(得分:3)
NSArray
是一个Objective-C对象,用于存储NSObject
的集合(例如NSString
,NSNumber
,NSDictionary
等)
示例:
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
还有一系列便利功能(例如NSArray
和count
),可以帮助您处理数据。请参阅lastObject
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/
注意:如果您需要具有不同大小的数组,请查看NSArray