Почему мой объект NSURL равен нулю? Мой путь правильный - PullRequest
0 голосов
/ 28 июня 2011
NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%lf,%lf&output=csv&sensor=false&key=swizzlec hops", coordinate.latitude,coordinate.longitude];
NSLog(@"urlString: %@", urlString); 
NSURL *urlFromURLString = [NSURL URLWithString:urlString];

Мой журнал: http://maps.google.com/maps/geo?q=53.872874,27.527790&output=csv&sensor=false&key=swizzlec прыжков

Я могу скопировать этот URL и вставить в браузер, и все в порядке, но urlFromURLString = nil.Но почему?

Ответы [ 3 ]

3 голосов
/ 28 июня 2011

Полагаю, вам нужно использовать

stringByAddingPercentEscapesUsingEncoding:

для urlString перед передачей его в NSURL.

NSString *urlString = [[NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%lf,%lf&output=csv&sensor=false&key=swizzlec hops", coordinate.latitude,coordinate.longitude] stringByAddingPercentEscapesUsingEncoding::NSUTF8StringEncoding];
3 голосов
/ 28 июня 2011

Попробуйте

 NSString *urlString = [[NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%lf,%lf&output=csv&sensor=false&key=swizzlec hops", coordinate.latitude,coordinate.longitude] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];

Не думаю, что в вашем URL могут быть пробелы

0 голосов
/ 28 июня 2011

Это лучший подход:

NSString* escapedUrl = [originalUrl   stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *urlFromURLString = [NSURL URLWithString:escapedUrl];
...