2010-12-06 37 views
2

与Java ArrayList相比,有没有办法获得NSArray的等价物?但是,我想要做的事情(在分钟学习Objective-C)有一个6个整数的NSArray。让自己'索引'到这些整数的特定点并设置一个整数。然后检查NSArray是否为零或零,如果不是,则循环并将整数输出到屏幕上的某个标签(示例)。NSArray如何操作?当与Java的ArrayList比较时

这可能吗?看起来文件并不是最好的。尽管我发现苹果的教程对于一般的iPhone开发非常有用!

回答

5

对于你想做的事,的java.util.ListNSArray的实现之间的主要区别是:

  • 的Objective-C没有“自动装箱”,所以你不能仅仅通过一些像3添加到数组中并使其存储正确的对象。你必须自己明确地把它包在NSNumber一个实例,通过做[NSNumber numberWithInt:3]
  • List任何实现可以选择实现.add().remove() API。在Foundation中,有一个NSArray的子类,允许您更改其内容,称为NSMutableArray
  • 的Objective-C没有仿制药,所以你不能做的List<String>

除此之外相当于ListNSArray十分相似:各是抽象的,告诉你如何使用实现对象,但不强制对象的工作方式。例如,ArrayList使用数组实现,但NSArray根据您尝试使用的内容动态选择适当的实现。

+1

我知道你的答案是从2010年开始的,所以我想为在2013年访问的人添加一些新内容。Objective-C编程语言已得到改进。您可以使用新的字面语法进行装箱:http://clang.llvm.org/docs/ObjectiveCLiterals.html – Elliot 2013-03-16 03:30:31