【发布时间】:2010-07-28 14:56:19
【问题描述】:
只是想知道在 Objective-C 中是否有与 Java 的 ArrayList 等效的东西?
或者可以用来存储没有固定大小的对象/数据的东西。
谢谢。
【问题讨论】:
标签: java objective-c arraylist equivalent
只是想知道在 Objective-C 中是否有与 Java 的 ArrayList 等效的东西?
或者可以用来存储没有固定大小的对象/数据的东西。
谢谢。
【问题讨论】:
标签: java objective-c arraylist equivalent
正如其他人所指出的,NSArray/NSMutableArray 是您要找的。
来自 Java 世界,您可能会发现 Cocoa 的集合产品感觉非常微不足道。事实上,功能是相当广泛的。 NSArray、NSDictionary 和 NSSet 实际上是 class clusters,这意味着公共 API 是一个“抽象”类。当您初始化其中一个集合时,您得到的实际上是为您提供的数据量身定制的具体实现。如果数据发生变化(例如,它的大小增加),这些实现还可以在运行时更改具体实现。这一切都是可能的,因为 Objective-C 的动态运行时间比 Java 的静态类型(和安全性)所允许的要多得多。因此,类集群策略隐藏了许多实现,例如java.util.List 接口,位于单个 API 后面。
Cocoa 框架在复合数据结构(即那些建立在“原始”数组、集合和字典之上的数据结构)方面有些局限。您可能会发现优秀的开源CHDataStructures 填补了许多空白。
【讨论】:
NSMutableArray。您可以根据需要向其中添加对象。
【讨论】: