NSArray如何运作?与Java的ArrayList相比

时间:2010-12-06 09:30:51

标签: objective-c

与Java ArrayList相比,有没有获得NSArray的等价物?

然而,我正在尝试做的事情(一分钟学习Objective-C)有一个6个整数的NSArray。允许自己“索引”到这些整数的特定点并设置一个整数。然后检查NSArray是否为零或零,如果没有则循环并将整数打印到屏幕上的某个标签上(例如)。

这可能吗?看来文档并不是最好的。虽然我发现Apple的一般iPhone开发教程非常有用!

1 个答案:

答案 0 :(得分:5)

对于您要执行的操作,java.util.ListNSArray的实现之间的主要区别是:

  • Objective-C没有“autoboxing”,因此您不能只将3之类的数字传递给数组并让它存储正确的对象。您必须通过NSNumber
  • [NSNumber numberWithInt:3]的实例中明确地将其包装起来
  • List的任何实现都可以选择实施.add().remove() API。在Foundation中,有一个NSArray的子类,允许您更改其内容,称为NSMutableArray
  • Objective-C没有泛型,所以你不能做相当于List<String>

除此之外,ListNSArray非常相似:每个都是抽象的,告诉您如何使用实现对象但不强制执行对象的工作方式。例如,ArrayList是使用数组实现的,但NSArray会根据您尝试使用的内容动态选择适当的实现。