Recientemente tuve un problema cuando comparé dos NSURL y comparé un NSURL con un NSString (que es una dirección URL), la situación es que obtuve una NSURLRequest de alguna parte, puedo o no saber la dirección URL a la que apunta, y tengo una URL NSString, diga "http://m.google.com", ahora tengo que comprobar si la dirección URL en que NSURLRequest es la misma que la cadena de URL que tenía:¿Forma confiable de comparar dos NSURL o un NSURL y un NSString?
[[request.URL.absoluteString lowercaseString] isEqualToString: [self.myAddress lowercaseString]];
esto no devolvió como el absoluteString
me da "http://m.google.com/" mientras que mi cadena es "http://m.google.com" sin una barra al final, incluso si creo el NSURLRequest usando
[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://m.google.com"]]
todavía me da "http://m.google.com/" para absoluteString
, me pregunto si hay alguna manera confiable de comparar NSURL o un NSURL y un NSString?
cheque si esta 'contiene' otra, pero esto no es fiable como 'http://m.google.com/blabla' contiene 'http://m.google.com'.
convertir el NSString a NSURL y utilizar el método
isEqual
para comparar dos NSURL y es de esperar ejecución deisEqual
de NSURL puede averiguarlo?según el paso 2, pero convierta cada NSURL en una URL estándar utilizando
standardizedURL
?
¡Muchas gracias!
¿El segundo NSURL tiene un '/' al final?eso sería suficiente para tirar el método 'isEqualToString' – Robotnik
Sí, pero lo que estoy pidiendo es una manera confiable que me permite no tener que asegurarme de que haya un '/' en ese momento, ya que la URL real es la misma no importa si tienes o no un '/' al final. – hzxu
No, 'isEqual:' del 'NSURL' no lo" resuelve ":( – dasblinkenlight