Skip to content
robsonximenes edited this page Jul 10, 2012 · 3 revisions

Onde encontrar?

O consumo de REST pode ser observado nas classes: Ranking.m e Game.m

Como funciona?

O funcionamento de REST/JSON é muito tranquilo, o ios já dá suporte nativo a tecnologia transformando o stream JSON em NSDictionary, mesmo assim para ficar ainda mais simples juntamos NSDictionary com NSURLConnection para tornar ainda mais fácil o consumo de serviços REST;

Vamos ver o exemplo da classe Ranking.m no método firsts que lista os primeiros do ranking:

+ (NSArray *) firsts:(int)offset{
    NSString *ADDRESS = [NSString stringWithFormat: REST_ADDRESS, offset];
    NSDictionary *result = [NSDictionary dictionaryWithContentsOfJSONURLString: ADDRESS];
    NSMutableArray *firstsArray = [[NSMutableArray alloc]init];
    NSArray *userArray = [result objectForKey:@"users"];
    for (NSDictionary *userDic in userArray) {
        User *u = [[User alloc]init];
        u.email = [userDic objectForKey:@"email"];
        u.name = [userDic objectForKey:@"name"];
        u.points = [[userDic objectForKey:@"points"] doubleValue];
        [firstsArray addObject:u];
    }    
    return firstsArray;
} 

Para o NSDictionary possuir o método dictionaryWithContentsOfJSONURLString é preciso primeiro importar a categoria NSDictionary+JSON.h

Vejam que em apenas uma linha NSDictionary *result = [NSDictionary dictionaryWithContentsOfJSONURLString: ADDRESS]; obtivemos o dicionário.

Neste exemplo fizemos toda a operação sincrona mas isso pode não ser o ideal em alguns casos.

Clone this wiki locally