2010-10-12 2 views
0

J'essaie d'appeler un service Web sur iPhone comme suit;Comment utiliser la barre oblique inverse dans NSURL

NSURL *url = [NSURL URLWithString:@"http://DOMAIN\Username:[email protected]/ServiceName"];  

Lorsque cette ligne est exécutée URL est nulle . Mais quand je supprime "\" d'appel ci-dessus, url contient la valeur.

J'ai déjà essayé d'utiliser "\\" mais cela n'a pas fonctionné. Voici mon code

NSString *Domain = [NSString stringWithFormat:@"DOMAIN"]; 
NSString *name = [NSString stringWithFormat:@"UserName"]; 
NSString *urlString = [NSString stringWithFormat:@"http://%@\\%@:[email protected]",Domain,name]; 

//Above lines executes properly and contains the following 
"https://DOMAIN\UserName:[email protected]" 

Mais quand la ligne suivante est exécuté url est nul

NSURL *url = [NSURL URLWithString:urlString]; 

peut me aider tout organisme comment je peux mettre « \ » dans l'URL?

Merci. Yasar

Répondre

3

Autrement \ devant lui pour échapper:

http://DOMAIN\\Username 
+0

Simple comme cela. La barre oblique inverse est utilisée comme caractère d'entrée spécial dans de nombreuses langues, par exemple '\ n' signifie nouvelle ligne. – Emil

+0

J'ai déjà essayé cela. Et l'URL devient nulle. Veuillez suggérer – Yasar

0

Utilisez un UTF8 pour la chaîne.

NSURL * url = [NSURL URLWithString:[stringURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
Questions connexes