NSArray 和普通数组有什么区别?
What is difference between NSArray and normal Array?
我是 Objective-c 的新人。我对 NSArray 和普通数组感到困惑。请告诉我何时使用 NSArray 以及何时使用普通数组?
NSArray
是一个 Objective-C 对象,它存储了 NSObject
的集合(例如 NSString
、NSNumber
、NSDictionary
、等等)
示例:
NSArray *myArray = @[@"String 1",@"String 2",@"String 3"];
(上面使用 Objective-C 文字来定义 NSStrings
的 NSArray
-- 参见 http://clang.llvm.org/docs/ObjectiveCLiterals.html)
Objective-C 建立在 C 之上,其中还包括数组(小写 'a'),通常用作基本数据类型的集合(例如 int
、char
,等等),例如。
示例:
int myArray[10] = { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 };
C 数组也可用于存储指针,指针可以指向内存中的对象,正如评论中 CRD/Jef 所指出的。
两者在某些情况下都很有用,但选择其中一种的常见原因之一是您是否需要存储对象或原语。虽然如上所述,C 数组可以处理对象,但通常更常见的做法是使用 NSArray
来处理它。
此外,NSArray
有很多方便的函数(例如 count
和 lastObject
)可以帮助您处理数据。请参阅有关 NSArray
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/
的 Apple 文档
注意:如果您需要不同大小的数组,请查看 NSMutableArray
我是 Objective-c 的新人。我对 NSArray 和普通数组感到困惑。请告诉我何时使用 NSArray 以及何时使用普通数组?
NSArray
是一个 Objective-C 对象,它存储了 NSObject
的集合(例如 NSString
、NSNumber
、NSDictionary
、等等)
示例:
NSArray *myArray = @[@"String 1",@"String 2",@"String 3"];
(上面使用 Objective-C 文字来定义 NSStrings
的 NSArray
-- 参见 http://clang.llvm.org/docs/ObjectiveCLiterals.html)
Objective-C 建立在 C 之上,其中还包括数组(小写 'a'),通常用作基本数据类型的集合(例如 int
、char
,等等),例如。
示例:
int myArray[10] = { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 };
C 数组也可用于存储指针,指针可以指向内存中的对象,正如评论中 CRD/Jef 所指出的。
两者在某些情况下都很有用,但选择其中一种的常见原因之一是您是否需要存储对象或原语。虽然如上所述,C 数组可以处理对象,但通常更常见的做法是使用 NSArray
来处理它。
此外,NSArray
有很多方便的函数(例如 count
和 lastObject
)可以帮助您处理数据。请参阅有关 NSArray
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/
注意:如果您需要不同大小的数组,请查看 NSMutableArray