user616860
user616860

Reputation: 309

NSString to NSurl

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 -- / 

Upvotes: 22

Views: 41413

Answers (4)

cxa
cxa

Reputation: 4248

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]]];

Upvotes: 80

Rutger Huijsmans
Rutger Huijsmans

Reputation: 2408

In Swift:

NSURL(fileURLWithPath: item.image!)

Upvotes: 0

Cyprian
Cyprian

Reputation: 9453

All is ok, if you want to get the URL to print in NSLog use this:

NSLog(@"url> %@ ", [url absoluteString]);

Upvotes: 2

Eiko
Eiko

Reputation: 25632

item.image does not only contain the URL, but it starts with a newline and spaces. Remove those first and you should be fine.

Upvotes: 1

Related Questions