目标C相当于Java的ArrayList。

2022-09-04 06:27:52

只是想知道在Objective-C中是否有与Java的ArrayList等效的数组?

或者可用于存储没有设置大小的对象/数据的东西。

谢谢。


答案 1

正如其他人所指出的,NSArray/NSMutableArray就是你正在寻找的。

来自Java世界,你可能会发现Cocoa的收藏产品感觉微不足道。实际上,该功能非常广泛。实际上,和 是类集群,这意味着公共 API 是一个“抽象”类。实际上,当您初始化其中一个集合时,您返回的实际上是为您提供的数据量身定制的具体实现。如果数据发生变化(例如,数据大小增加),这些实现也可以在运行时更改具体实现。这一切都是可能的,因为Objective-C的动态运行时间比Java的静态类型(和安全性)所允许的要多得多。因此,类集群策略将许多实现(例如接口)隐藏在单个API后面。NSArrayNSDictionaryNSSetjava.util.List

Cocoa框架在复合数据结构(即建立在“原始”数组,集合和字典之上的框架)中受到一定限制。您可能会发现,优秀的开源CHDataStructures填补了许多空白。


答案 2

NSMutableArray.您可以根据需要向其添加对象。


推荐