J'ai une classe qui analyse un flux XML. Dans cette classe, je dois méthode suivante:Comportement bizarre NSString vs NSURL
-(id)loadXMLByURL:(NSString *)urlString name:(NSString*)name{
NSString *urls = [[NSString alloc]initWithFormat:@"%@%@" , urlString, name];
NSLog(@"STRING URL: %@" , urls);
NSURL *url = [NSURL URLWithString:urls];
NSLog(@"%@" , url);
parser = [[NSXMLParser alloc]initWithContentsOfURL:url];
parser.delegate = self;
BOOL success = [parser parse];
if (success) {
NSLog(@"No error");
}else{
NSLog(@"Error: %@" , parser.parserError);
}
return self;
}
La première NSLog est l'URL correcte, mais le NSURL sort que (null)
est ici où j'appelle la méthode:
//f is an object where I store the value of name from another feed, which I have to use as a parameter in the url for this feed
NSString *name = f.name;
myParser = [[MyParser alloc]loadXMLByURL:@"http://myurl.com/names.asp?name=" name:name];
Si je NSLog nom ici, il montre la bonne valeur.
Quelqu'un at-il une idée de la raison pour laquelle le NSURL est (null)?
Quelle est la valeur du nom? – hypercrypt
C'est juste une chaîne contenant les paramètres dont j'ai besoin pour analyser l'autre flux XML. Et comme je l'ai écrit ci-dessus, les valeurs correctes sortent quand je NSLog il. – Magnus
Pouvez-vous publier la sortie du premier 'NSLog'? Vous n'échappez pas à la chaîne de nom, donc il pourrait y avoir des caractères qui ne sont pas valides pour une URL ... – hypercrypt