Вот цель-c-подход. К сожалению, вам не составит труда написать часть 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