与 Java ArrayList 相比,是否有办法获得 NSArray 的等效项?
但是,我想做的(目前正在学习 Objective-C)是拥有一个包含 6 个整数的 NSArray。让我自己“索引”到这些整数的特定点并设置一个整数。然后检查 NSArray 是否为空或零,如果不是则循环并将整数打印到屏幕上的某个标签(示例)。
这可能吗?该文档看起来根本不是最好的。尽管我发现 Apple 关于一般 iPhone 开发的教程非常有用!
最佳答案
对于您想要做的事情,java.util.List
的实现之间的主要区别和NSArray
是:
- Objective-C 没有“自动装箱”功能,因此您不能只将 3 这样的数字传递给数组并让它存储正确的对象。您必须自己显式地将其包装在
NSNumber
的实例中,通过做[NSNumber numberWithInt:3]
- 任何
List
的实现可以选择实现.add()
和.remove()
API。在Foundation中,有一个子类NSArray
允许您更改其内容,称为NSMutableArray
. - Objective-C 没有泛型,因此您无法执行
List<String>
的等效操作
除此之外,List
和NSArray
非常相似:每个都是抽象的,告诉您如何使用实现对象,但不强制执行该对象的工作方式。例如,ArrayList
是使用数组实现的,但是NSArray
根据您尝试使用的内容动态选择适当的实现。
关于objective-c - NSArray 是如何运行的?与 Java 的 ArrayList 相比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4364922/