quinta-feira, 9 de agosto de 2012

Malditos espaços em branco

Tudo mundo gosta de espaço, mas quando falamos em espaços no meio de uma String, e esta faz parte de uma URL, e a linguagem é Objective-C ... malditos espaços.

Mas, como fala um amigo, para toda problemática existe uma solucionática, o melhor uma stringByAddingPercentEscapesUsingEncoding, aqui entre nós, o cara que colocou o nome a este método merece pelo menos uma pizza.

NSString* nome = @"Federico Neoapps";

NSString* urlEncoded = [[NSString stringWithFormat:@"nome=", paramsstringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"[ URL Encoded ] %@",urlEncoded);

NSString * urlDecoded = [urlEncoded stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding ];
NSLog (@"[ URL Decoded ] %@"urlDecoded);


O resultado é:

[ URL Encoded ] nome=Federico%20Neoapps
[ URL Decoded ] nome=Federico Neoapps



Try to Catch the error


Sim o objective-C tem controle de exceções, assim como no Java, Ruby, Javascript, etc.



 NSString* minhaString = [NSString stringWithString:@"abc"];
    @try {
        NSLog(@"Isto vai gerar uma exceção");
        [minhaString characterAtIndex:6];
    }
    @catch (NSException * e) {
        NSLog(@"Opa, alguma coisa errada aconteceu e foi que : %@", e);
    }
    @finally {
        NSLog(@"Este bloco é sempre executado");
    }

Achou fácil, por que não usá-lo?