Вы должны поместить значения перечисления в NSDictionary:
NSDictionary *dogs = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:Poodle], @"Poodle",
[NSNumber numberWithInt:GoldenRetriever], @"GoldenRetriever",
//.....
//.....
nil];
где-то в классе синтаксического анализа, когда вы собираете значения синтаксического анализа, поместите его в другой NSDictionary
dictOfParsedData = [NSDictionary dictionaryWithObjectsAndKeys:
//.....
//.....
[dogs valueForKey:[attributeDict objectForKey:@"breed"]], @"breed",
//.....
nil];
метод, который возвращает элемент типа enum
-(NSInteger)valForGlobalKey:(NSString *)_key andSubKey:(NSString *)_key2{
return [[[dictOfParsedData valueForKey:_key] valueForKey:_key2] intValue];
}
где-то в классе, где содержатся собаки
#import "ParsingClass.h"
@interface ClassOfDogs : NSObject
реализация:
ParsingClass *parsingClassInst = [[ParsingClass alloc] initWithXMLFile:@"Dogs.xml"];
Dogs myDog = [parsingClassInst valForGlobalKey:@"dog" andSubKey:@"breed"];