2010-07-28 19 views
7

Estoy tratando de convertir la siguiente llamada a la API NSString a un objeto NSURL:iPhone convertir NSString a un error NSURL

http://beta.com/api/token= "69439028"

Éstos son los objetos que tengo de configuración. He escapado de las comillas con barras invertidas:

NSString *[email protected]"http://beta.com/api/token=\"69439028\""; 
NSLog(@"theTry=%@",theTry); 


NSMutableURLRequest *url = [[NSURL alloc] URLWithString:theTry]; 
NSLog(@"url=%@",url); 

Cada vez que corro esto, sigo recibiendo este error:

2010-07-28 12:46:09.668 RF[10980:207] -[NSURL URLWithString:]: unrecognized selector sent to instance 0x5c53fc0 
2010-07-28 12:46:09.737 RF[10980:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSURL URLWithString:]: unrecognized selector sent to instance 0x5c53fc0' 

Puede alguien por favor dígame cómo puedo convertir esta cadena en un NSURL correctamente?

Respuesta

31

Está declarando una variable de tipo NSMutableURLRequest y utilizando una función de inicialización de NSURL (más o menos).

NSMutableURLRequest *url = [[NSURL alloc] URLWithString:theTry]; 

tratar

NSURL *url = [[NSURL alloc] initWithString:theTry]; 

nota que ha pasado un tiempo desde que hice ninguna dev iPhone, pero creo que esto parece bastante exacto.

+0

O bien, se puede obtener un objeto autoreleased con NSURL * url = [NSURL URLWithString: theTry]; –

+0

@Tom: Intenté "NSURL * url = [NSURL URLWithString: theTry]" y me sigue devolviendo un objeto nulo. – unicornherder

+0

@ Dutchie432 & Dave: También probé "NSURL * url = [[NSURL alloc] initWithString: theTry]", y también me da un objeto nulo – unicornherder

0

En primer lugar usted debe obtener error de compilación en esta línea: NSMutableURLRequest *url = [[NSURL alloc] URLWithString:theTry]; Pero me maravilla cómo lo hizo compila ..

Lo que está haciendo mal es la que está llamando método de la clase de instancia de una clase NSURL ...

-> URLWithString: es un método de clase de la clase NSURL, por lo que debe utilizarlo como:

NSMutableURLRequest * url = [NSURL URLWithString:url]; 

-> y initWithString: es ejemplo metho d, por lo que debe utilizarlo como:

NSMutableURLRequest * url = [[NSURL alloc] initWithString:url];