2013-06-11 1 views
0

Supposons que vous ayez une URL qui ressemble à http://localhost:5867 et que vous vouliez ajouter '/ something' à l'URL. Comment ajouter des segments à cette URL? J'essaie ceci:IOS - Comment ajouter des segments à NSURL?

//_baseURL is NSURL* and documentid is NSString* 
NSURL* url = [_baseURL URLByAppendingPathComponent:documentid]; 

.. Bizarrement Xcode (4.6.2) ne sera pas sortie l'URL résultante à la console.

NSLog(@"%@", [url absoluteString]);//nothing output 

Merci!

Modifier

Je travaille dans un espace de travail. Le code que je débogue est une bibliothèque statique qui se trouve dans l'espace de travail. Serait-ce le coupable de toute cette bizarrerie ??

fixe

Je pense que la raison pour laquelle j'avais des problèmes était parce que mon espace de travail n'a pas été configuré correctement et j'exécutait en fait une ancienne version de mon lib statique. Ceci explique pourquoi je n'obtenais pas NSLog'ing et pourquoi le résultat était inattendu. J'ai trouvé ce post qui m'a aidé à comprendre l'espace de travail et comment le configurer pour une bibliothèque statique. Merci beaucoup pour le temps de tout le monde!

+0

Quelle est la sortie NSLog de _baseURL? –

+0

Rien. Ça doit être un bug. Je redémarre XCode. – Nick

Répondre

1

Il y a un message de classe,

+ (id)URLWithString:(NSString *)URLString relativeToURL:(NSURL *)baseURL 

Ainsi,

NSURL *base = [NSURL URLWithString: @"http://localhost:5867"]; 
NSURL *child = [NSURL URLWithString: @"something" relativeToURL:base]; 
+0

NSURL * url = [NSURL URLWithString: @ "testdocument" relativeToURL: [NSURL URLWithString: @ "http://somewhere.com"]]; NSLog (@ "% @", url); // sorties http://somewhere.com – Nick

+0

@nick C'est extrêmement étrange, ça me renvoie l'URL correcte (ie 'testdocument - somewhere.com'). Pouvez-vous reproduire le bug dans un petit programme de test? – JustSid

+0

Je vais essayer ça. – Nick

0
NSURL *base = [NSURL URLWithString:@"http://localhost:5867"]; 
NSURL *url = [base URLByAppendingPathComponent:@"something"]; 

NSLog(@"%@", [url absoluteString]); 

Cela fonctionne pour moi et imprime http://localhost:5867/something, afin de vérifier vos variables (peut-être l'un d'eux est nil ou un chaîne vide?).

Questions connexes