5

GET国際文字 (私の場合はヘブライ語ですが、何でもかまいません)を使用して Web サーバーにアクセスする必要があります。だから私はNSString大丈夫ですが、

[NSURL URLWithString:urlString]; // returns nil.

おそらく、国際文字をパーセント コードに変換する必要があると思います。

そうするためのObjective-cの組み込みメソッドはありますか?

4

4 に答える 4

10

-stringByAddingPercentEscapesUsingEncoding:はい、あります。方法が必要です。

[NSURL URLWithString:[string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
于 2010-08-05T20:13:18.177 に答える
0

NSURLなしで直接使用できますNSString

//.h file

@interface NewsBrowser : UIViewController {
    UIWebView *webView;
    NSURL *NewsUrl;
}

@property (nonatomic, retain) IBOutlet UIWebView *webView;
@property (nonatomic, assign) NSURL *NewsUrl;

@end

//.m file

[webView loadRequest:[NSURLRequest requestWithURL:NewsUrl]];

NSURL別のビュー (NewsUrl変数を使用) からこのビューに渡すだけです。

于 2011-01-11T08:56:51.717 に答える
0

これにより、 が に含まれているため、 がNSURL *url返されないことが保証されます。nil"|"urlString

NSString *urlString = [[NSString stringWithFormat:@"http://api.service.com/Service.svc?sort=name|ascending"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL *url = [NSURL URLWithString:urlString];
于 2011-01-01T15:09:21.870 に答える
0
+ (NSURL*) URLWithStringWithSpecialChars:(NSString *)sURL
{
    NSURL *url = [NSURL URLWithString:sURL];
    if(url == nil)
        return [NSURL URLWithString:[sURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
    else
        return url;
}

URLWithString の代わりにこの関数を呼び出す: 有効な NSURL が常に返されるようにする必要があります (必要な場合は nil ではなく)。

于 2015-10-28T10:52:42.783 に答える