NSString в NSurl - PullRequest
       17

NSString в NSurl

22 голосов
/ 23 июня 2011

возникают проблемы при получении NSSTRING для преобразования в NSURL, item.image, содержит URL для изображения, которое я получаю через xml

NSString *urlString = [NSString stringWithFormat:@"%@", item.image];
NSURL *url = [NSURL URLWithString:urlString];

NSLog(@"string> %@ ", urlString);
NSLog(@"url> %@ ", url);

2011-06-23 11:18:49.610 Test[10126:207] string> http://www.harlemfur.com/images/Dog_Olive.jpg       
2011-06-23 11:18:49.611 Test[10126:207] url> (null) 

также, если я попробую:

NSString *urlString = [NSString stringWithFormat:@"%@", item.image];
NSURL *url = [NSURL fileURLWithPath :urlString];

2011-06-23 11:22:08.063 Test[10199:207] string> http://www.harlemfur.com/images/Dog_Olive.jpg

2011-06-23 11:22:08.064 Test[10199:207] url> %0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20http://www.harlemfur.com/images/Dog_Olive.jpg%0A%20%20%20%20%20%20%20%20%20%20%20%20 -- / 

Ответы [ 4 ]

77 голосов
/ 23 июня 2011

При создании URL из NSString не забудьте сначала закодировать его, поэтому попробуйте следующее:

NSString *urlString = [NSString stringWithFormat:@"%@", item.image];
NSURL *url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];  

Для IOS ≥ 9.0 используйте

NSURL *url = [NSURL URLWithString:[urlString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]];
2 голосов
/ 23 июня 2011

Все в порядке, если вы хотите получить URL для печати в NSLog, используйте это:

NSLog(@"url> %@ ", [url absoluteString]);
1 голос
/ 23 июня 2011

item.image не только содержит URL, но и начинается с новой строки и пробелов.Сначала удалите их, и все будет в порядке.

0 голосов
/ 07 апреля 2016

В Свифт:

NSURL(fileURLWithPath: item.image!)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...