Xcode openURL不读取链接

时间:2012-02-19 18:22:45

标签: objective-c url xcode4.2 wikipedia openurl

我有动物清单和特殊按钮。当我按下按钮时,我想去维基百科并更多地阅读这个动物。所以我写了这段代码:

-(IBAction)goWiki:(id)sender
{
    NSString *wikiUrl = "http://ru.wikipedia.org/wiki/";
    NSString *url = [NSString stringWithFormat:@"%@%@",wikiUrl,animalTitle];  
    [[UIApplication sharedApplication]openURL:[NSURL URLWithString:url]];
    NSLog(@"%@",url);
}

NSLog显示网址写得正确,但没有任何反应。由于animalTitle,我99.99%肯定。我的母语是俄语,animalTitle也是俄语中的动物名称。 所以,如果链接像 http://ru.wikipedia.org/wiki/Frog 那么它的确如此有效,但如果它像 http://ru.wikipedia.org/wiki/Лягушка没有任何反应。 任何想法,我怎么能转移到俄罗斯文章? 谢谢!

2 个答案:

答案 0 :(得分:3)

使用stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding,如下所示 -

-(IBAction)goWiki:(id)sender
{
    NSString *wikiUrl = @"http://ru.wikipedia.org/wiki/";
    NSString *url = [NSString stringWithFormat:@"%@%@",wikiUrl,animalTitle];  


    url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    [[UIApplication sharedApplication]openURL:[NSURL URLWithString:url]];
    NSLog(@"%@",url);
}

答案 1 :(得分:1)

首先尝试通过CFURLCreateStringByAddingPercentEscapes传递字符串animalTitle