只是想知道在Objective-C中是否有与Java的ArrayList相同的东西?
或者可用于存储没有设置大小的对象/数据的东西。
感谢。
答案 0 :(得分:17)
正如其他人所指出的那样,NSArray / NSMutableArray正是您所寻找的。
来自Java世界,您可能会发现Cocoa的系列产品非常微不足道。实际上,功能非常广泛。事实上,NSArray
,NSDictionary
和NSSet
是class clusters,这意味着公共API是一个“抽象”类。当您初始化其中一个集合时,您获得的内容实际上是针对您提供的数据量身定制的具体实现。如果数据发生变化(例如,它的大小增加),这些实现也可以在运行时更改具体实现。这是可能的,因为Objective-C比Java的静态类型(和安全性)允许的动态更加动态。因此,类集群策略隐藏了许多实现,例如, java.util.List
接口,位于单个API后面。
Cocoa框架在复合数据结构中有些限制(即那些构建在“原始”数组,集合和字典之上的结构)。您可能会发现优秀的开源CHDataStructures填补了许多空白。
答案 1 :(得分:15)
NSMutableArray
。您可以根据需要向其添加对象。