ここでは、目的別アプローチです。残念なことに、あなたはAI部分を書くことの楽しさを持たず、並べ替えは既にライブラリに組み込まれています。
int north = 1, south = 3, east = 2, west =4;
NSDictionary * nDict = [NSDictionary dictionaryWithObjectsAndKeys:@"north", @"name", [NSNumber numberWithInt:north], @"value", nil];
NSDictionary * sDict = [NSDictionary dictionaryWithObjectsAndKeys:@"south", @"name", [NSNumber numberWithInt:south], @"value", nil];
NSDictionary * eDict = [NSDictionary dictionaryWithObjectsAndKeys:@"east", @"name", [NSNumber numberWithInt:east], @"value", nil];
NSDictionary * wDict = [NSDictionary dictionaryWithObjectsAndKeys:@"west", @"name", [NSNumber numberWithInt:west], @"value", nil];
NSArray * toBeSorted = [NSArray arrayWithObjects:nDict,sDict,eDict,wDict,nil];
NSArray * sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"value" ascending:NO]];
NSArray * sorted = [toBeSorted sortedArrayUsingDescriptors:sortDescriptors];
NSLog(@"sorted %@", sorted);
出力
2012-01-23 19:50:21.079 TestEnvironment[19792:207] sorted (
{
name = west;
value = 4;
},
{
name = south;
value = 3;
},
{
name = east;
value = 2;
},
{
name = north;
value = 1;
}
)
は今、あなたは
NSString * highestPriority = [[sorted objectAtIndex:0] objectForKey:@"name"];
で最も高い優先度を確認することができます今、あなたはあなたが(NSArray, NSDictionary, NSSortDescriptor, NSNumber
)を調べることができますいくつかのクラスを持っている
待ち、1ではありません4より大きい – bowlerae
私は疲れている、大丈夫! – Sosumi
あなたが問題に近づいているように感じます(変数名を得ることは役に立たないようですが、あなたはすでに価値があります)。 – Nick