2011-04-30 19 views
9

Tengo una cadena de mi url .. Quiero obtener datos de esa url. Para eso necesito crear el objeto de NSURL. El problema es cuando trato el método URLWithString de la clase NSURL devuelve nil. Pero cuando abro este enlace en Safari of My Mac, me muestra la Imagen.NSURL URLWithString: myString devuelve Nil?

estoy usando ..

NSString *str = @"http://chart.apis.google.com/chart?chs=150x150&cht=qr&chld=L|0&chl=http://MyServer.com/shareMyCard.php?value=1304057103"; 
NSURL *url = [NSURL URLWithString:str]; 
NSData *data = [NSData dataWithContentsOfURL:url]; 
UIImage *img = [UIImage imageWithData:data]; 

no sé por qué la URL es nulo. Creo que debido a la cadena de consulta en mi cadena.

Cualquier idea sobre cómo obtener datos de este Url String.

Gracias

Respuesta

32

Su URL es nulo, ya que contiene caracteres especiales, utilice esta función siguiente para codificar sus parámetros de URL antes de usarlos en URL -

-(NSString *) URLEncodeString:(NSString *) str 
{ 

    NSMutableString *tempStr = [NSMutableString stringWithString:str]; 
    [tempStr replaceOccurrencesOfString:@" " withString:@"+" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [tempStr length])]; 


    return [[NSString stringWithFormat:@"%@",tempStr] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
} 
+0

Sé que es tarde en el día pero gracias mucho por esto, también resolvió mi problema. – Robert

Cuestiones relacionadas