2010-12-06 8 views
2

Java ArrayListと比較してNSArrayに相当するものを取得する方法はありますか?NSArrayはどのように動作しますか? JavaのArrayListと比較した場合

しかし、私がしようとしているのは(Objective-Cを分で学ぶ)NSArrayが6個の整数です。これらの整数の特定の点に「インデックス」を張って整数を設定します。次にNSArrayがnullかゼロであるかどうかをチェックし、そうでなければループして、画面上のあるラベルに整数を出力します(例)。

これは可能ですか?ドキュメントは、それが一番良いとは言えません。一般的なiPhone開発に関するAppleのチュートリアルは非常に便利ですが、あなたが何をしたいかについては

答えて

5

java.util.ListNSArrayの実装との主な相違点は次のとおりです。あなただけのような番号を渡すことはできませんので

  • のObjective-Cは、「オートボクシング」を持っていません。 3を配列に追加し、正しいオブジェクトを格納します。あなたは明示的に[NSNumber numberWithInt:3]
  • Listのいずれかの実装は、必要に応じて.add().remove() APIを実装することを行うことによって、NSNumberのインスタンスでそれを自分でラップする必要があります。 Foundationにはという内容を変更できるサブクラスNSArrayがあります。
  • のObjective-Cは、ジェネリックを持っていないので、あなたがそれ以外List<String>

の同等の操作を行うことができない、ListNSArrayは非常に似ています。それぞれには、使用することができますどのように言って、抽象的ですオブジェクトを実装するが、そのオブジェクトが動作する方法を強制しない。たとえば、ArrayListは配列を使用して実装されますが、NSArrayは、使用しようとするコンテンツに基づいて適切な実装を動的に選択します。

+1

あなたの回答は2010年のことを知っていますので、2013年に訪れる人々のために新しいものを追加したいと思います。Objective-Cプログラミング言語が改善されました。ボクシングの新しいリテラル構文を使用することができます:http://clang.llvm.org/docs/ObjectiveCLiterals.html – Elliot

関連する問題