-
Notifications
You must be signed in to change notification settings - Fork 4
Rest
O consumo de REST pode ser observado nas classes: Ranking.m e Game.m
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.