ここに私の質問です:私はplist
にいくつかのオブジェクトがあります。これらのオブジェクトには、「年齢」、「性別」、「人物」などのようなkeys
があります。keys
のvalues
が私のif statement
に適している場合は、このオブジェクトを私のarray
に追加します。NSMutableArrayのバブルソート
次に、私の配列が最終的にいくつかの適切なオブジェクトでいっぱいになると、すべてのオブジェクトのもう1つのキーをチェックしたいと思っています - "minimumCost"タイプはNSNumber
で、最も安いオブジェクトから最も高価なオブジェクトにオブジェクトを並べ替えます。私はそれをどうやって行うのか分かりません。いくつかのアイデア、コード、ソリューションを教えてください。ここで
は私のコードは次のとおりです。
-(NSMutableArray*)creatingList:(NSMutableArray *)array
{
NSDictionary *mainDictionary = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"gifts" ofType:@"txt"]];
//---enumerate through the dictionary objects inside the rootDictionary
NSEnumerator *enumerator = [mainDictionary objectEnumerator];
id returnValue;
while ((returnValue = [enumerator nextObject]))
{
// Big if statement comes
if (([[returnValue valueForKey:@"sex"]isEqualToNumber:[NSNumber numberWithInt:sex]] ||
[[returnValue valueForKey:@"sex"]isEqualToNumber:[NSNumber numberWithInt:2]]) &&
[[returnValue valueForKey:@"person"]isEqualToString:person] &&
age >= [[returnValue valueForKey:@"minAge"] intValue] &&
age <= [[returnValue valueForKey:@"maxAge"] intValue])
{
[array addObject:[returnValue valueForKey:@"name"]];
}
}
for (int n = 0; n < [array count];n++)
{
// WHAT CODE SHOULD BE HERE ?
}
return array;
}
ありがとう!
この宿題のようには見えないので、なぜバブルソート? – dasblinkenlight
"minimumCost"の値でオブジェクトをソートしたいので。私はアレイの始めでもっとも安く、最後には最も広大なものを見たいと思っています。だから、私はそれをこのように呼んだのです。 – SmartTree
バブルソートは、プログラミングプログラミングのためにほとんど排他的に使用されるかなり非効率なソートアルゴリズムです。 NSMutableArrayは、効率的なココアライブラリの組み込み機能を使用して、オブジェクトの任意のプロパティの組み合わせでソートできます。 – dasblinkenlight