2016-07-04 22 views
0

Meine Anwendung basiert auf Portugiesisch - Brasilien. Wir haben einige Sonderzeichen, die wir in Wörtern wie "Açaí" verwenden.So machen Sie NSURL mit Sonderzeichen

Ich habe eine Suchmethode, die eine Anforderung an eine URL wie folgt sendet:

NSURLSession *session = [NSURLSession sharedSession]; 
    NSString *urlString = [NSString stringWithFormat:@"http://www.mydomain.com.br/webservice/search/%@",_query]; 
    NSURL *URL = [NSURL URLWithString:urlString]; 
    [[session dataTaskWithURL:URL 
      completionHandler:^(NSData *data, 
           NSURLResponse *response, 
           NSError *error) { 
    //ALL THE LOGIC HERE 
       }); 

      }] resume]; 

Wenn nun die _query gesetzt „Açaí“ (die C und I als Sonderzeichen enthält), wenn ich NSURL *URL = [NSURL URLWithString:urlString]; versuchen Die URL-Variable ist nicht initialisiert und bricht den gesamten Rest.

Wie kann ich mit Sonderzeichen eine Anfrage an meinen Webservice senden?

Antwort

0

Ich denke, Sie müssen die URL-Zeichenfolge vor der Erstellung der NSURL zu entkommen.

NSString *urlString = [NSString stringWithFormat:@"http://www.mydomain.com.br/webservice/search/%@",_query]; 
NSURL *URL = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];