问题
having trouble getting NSSTRING to convert to NSURL, item.image, holds the url for an image that im getting through 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)
also if i try :
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 -- /
回答1:
When making URL
from NSString
, don't forget to encode it first, so try this:
NSString *urlString = [NSString stringWithFormat:@"%@", item.image];
NSURL *url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
For IOS ≥ 9.0 use
NSURL *url = [NSURL URLWithString:[urlString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]];
回答2:
All is ok, if you want to get the URL to print in NSLog use this:
NSLog(@"url> %@ ", [url absoluteString]);
回答3:
item.image
does not only contain the URL, but it starts with a newline and spaces. Remove those first and you should be fine.
回答4:
In Swift:
NSURL(fileURLWithPath: item.image!)
来源:https://stackoverflow.com/questions/6456605/nsstring-to-nsurl