2014-10-14 4 views
0

Я пытаюсь создать гибкий словарь, основанный на XML-файле. Я использую xmlDigester с некоторыми правилами, и все идет хорошо, пока я не пытаюсь проанализировать значения моего словаря.Гибкий словарь

Выше мои классы объектов, которые создают словарь с XMLdigister:

@interface slideInfo : NSObject 
@property (nonatomic, strong) NSNumber *id; 
@property (nonatomic, strong) NSString *appname; 
@property (nonatomic, strong) NSString *marketinfos; 
@property (nonatomic, strong) NSString *questionMarket; 
@property (nonatomic, strong) NSString *theText; 

@property (nonatomic, strong) NSMutableDictionary * mrtInfos; 

-(void)addInfo:(marketInfos*)market; 
-(void)questionMarket:(answerHandler*)qMarket; 

@end 

.m файл

@implementation slideInfo 

@synthesize id, version, appname, marketinfos, questionMarket, mrtInfos, theText; 

- (id)init { 

    if ((self = [super init])) { 
     self.mrtInfos = [NSMutableDictionary new]; 
    } 
    return self; 
} 

-(void)addInfo:(marketInfos*)market 
{ 
    NSString *key = [NSString stringWithFormat:@"%@ %@", market.name, market.image]; 
    [mrtInfos setObject:market forKey:key]; 

} 

-(void)questionMarket:(answerHandler*)qMarket 
{ 
    NSString *key = [NSString stringWithFormat:@"%@ %@ %@ %@", qMarket.name, qMarket.image, qMarket.question, qMarket.answer]; 
    [mrtInfos setObject:qMarket forKey:key]; 
    theText = qMarket.question; 
    NSLog(@"Dic: %@" , theText); 
} 


@end 

answeHandler.h

@interface answerHandler : NSObject 

@property (nonatomic, strong) NSString *id; 
@property (nonatomic, strong) NSString *name; 
@property (nonatomic, strong) NSString *image; 
@property (nonatomic, strong) NSString *question; 
@property (nonatomic, strong) NSString *answer; 

-(NSString *)marketString; 

@end 

и .m

@implementation answerHandler 

@synthesize id, name, image, question, answer; 

- (id)init { 
    if ((self = [super init])) { 
     NSLog(@"answerHandler init"); 
    } 
    return self; 
} 

-(NSString *)marketString { 
    return [NSString stringWithFormat:@"%@ %@ %@ %@ %@" ,id, name, image, question, answer]; 
} 

@end 

Теперь мой вопрос: как я могу получить определенное значение из моего словаря? Все, что я пытался, возвращает null. Заранее спасибо

ответ

0

Главный вопрос - какие данные вы должны искать/искать в словаре. Почему вы не используете объект id в качестве ключа внутри NSDictionary?

-(void)addInfo:(marketInfos*)market 
{ 
    NSString *key = [NSString stringWithFormat:@"%@ %@", market.id]; 
    [mrtInfos setObject:market forKey:key]; 

} 

Затем используйте этот идентификатор для поиска в своем словаре;

-(marketInfos*)objectFromDictionary:(NSNumber*)id 
{ 

    return = [mrtInfos objectForKey:id]; 

} 
+0

У меня есть много разных узлов в моем XML-файле. Я хочу, чтобы специально разобрать, пусть говорит строка вопроса из словаря – axel

Смежные вопросы