0

保存したすべてのNSFetchRequestオブジェクトを返し (それらをItems と呼びます)、それらを に格納する がありNSMutableArrayます。これらItemの各 には、カテゴリ、量、およびその他のプロパティがあります。私の目標は、それぞれのカテゴリを確認しItem、同じカテゴリのオブジェクトの金額の合計を保存することです。したがって、これらItemの s がある場合:

  • 赤; 10.00
  • 青い; 20.00
  • 緑; 5.00
  • 赤; 5.00
  • 緑; 15.00

次に、配列または他のタイプのコンテナーを使用します。

  • 赤; 15.00
  • 青い; 20.00
  • 緑; 20.00

そのような方法でデータを整理する最良の方法は何でしょうか? Totalsカテゴリと金額だけを持つオブジェクト クラス ( と呼びます) を作成するつもりでした。フェッチ結果を for ループでトラバースするItemと、同じカテゴリの をTotalsオブジェクトに追加し、それらを に格納しますNSMutableArrayTotals私が遭遇した問題は、配列に特定のプロパティを持つオブジェクトが含まれているかどうかを確認する方法がわからないことです。具体的には、すでに存在するカテゴリです。したがって、「赤」が存在する場合はそれに金額を追加し、そうでない場合Totalsはカテゴリ「赤」と最初の金額で新しいオブジェクトを作成しますItem。ありがとう。

4

1 に答える 1

1

あなたの質問に答え、多くの状況で役立つ汎用メソッドを提供するには、[myObject isKindOfClass:aClass] メソッドを使用してから、NSObject の RespondsToSelector: メソッドを使用します。

取得するデータの種類がわかっている場合は、赤 = 0、青 = 0、緑 = 0 で合計オブジェクトをインスタンス化し、それに応じて量を追加するだけです。

別のオプションとして、キー値コーディングを見ることができます:リンクはこちら

NSMutableDictionary クラスを使用してそれを実現できます。キーが存在する場合は合計オブジェクト(NSMutableDictionary)を調べ、存在しない場合は作成し、存在する場合は値を追加します。

于 2012-04-06T22:43:48.020 に答える