开发者

Created NSURL is null

NSURL printing null. What's the reason?

NSString *webStr = [[NSString alloc] initWithFormat:@"%@",[webArray objectAtIndex:1]];

NSLog(@"urlString = %@",webStr); // its printing correct url string

NSURL *webURL = [[NSUR开发者_如何学编程L alloc] initWithString:webStr];

NSLog(@"url = %@",webURL); // its printing null

[webURL release];

[webStr release];


You should do the following.

NSString *webStr = [[NSString alloc] initWithFormat:@"%@",[webArray objectAtIndex:1]];

NSLog(@"urlString = %@",webStr); // its printing correct url string

NSURL *webURL = [[NSURL alloc] initWithString:[webStr stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]];

NSLog(@"url = %@",webURL); // it should print it

[webURL release];

[webStr release];

I have used NSASCIIStringEncoding but you can use UTF8 too or any other encoding.


from the docs for -[NSURL initWithString:]:

If the string was malformed, returns nil.

This method expects URLString to contain any necessary percent escape codes, which are ‘:’, ‘/’, ‘%’, ‘#’, ‘;’, and ‘@’. Note that ‘%’ escapes are translated via UTF-8.

which raises: what's your input?


NSLog(@"urlString = %@",webStr); // its printing correct url string 

It's not printing the correct URL string. It's just printing the string. So if NSURL *webURL = [[NSURL alloc] initWithString:webStr] returns nil it means that your string is not valid URL.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜