2010-12-06 94 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