Предпосылка синтаксического анализатора кажется очень простой. Когда это будет сделано, он предоставит вам NSArray NSDictionaries.
Вам просто нужно написать другой метод, который использует его ..
Что-то вроде -
-(NSString*) getElement:(NSString*)element fromArray:(NSArray *)array
{
for ( int i = 0 ; i < [array count] ; i++ )
{
NSDictionary* thisDict = [array objectAtIndex:i];
if ( [element isEqualToString:[thisDict objectForKey:@"element"]] )
return [thisDict objectForKey:@"data"];
else
{
NSString *ret = [self getElement:element fromArray:[thisDict objectForKey:@"children"]];
if ( ret == nil )
continue;
else
return ret;
}
}
return nil;
}
Поместите метод-обертку в ваш SimpleParser.h
-(NSString*)getParsedElement:(NSString *)elementName;
Реализуйте в вашем .m так -
-(NSString *)getParsedElement:(NSString *)elementName
{
return [self getElement:elementName fromArray:theMainStack];
}
Тогда вы можете назвать это так -
[thisParser getParsedElement:@"x-position";