Недавно у меня была проблема при сравнении двух NSURL и сравнить один NSURL с NSString (который является URL-адресом), ситуация в том, что я получил NSURLRequest откуда-то, я могу или не могу знать адрес URL, на который он указывает, и у меня есть URL-адрес NSString, скажем, "http://m.google.com" , теперь мне нужно проверить, совпадает ли URL-адрес в этом NSURLRequest со строкой URL-адреса, которую я имел:
[[request.URL.absoluteString lowercaseString] isEqualToString: [self.myAddress lowercaseString]];
это возвращает NO, поскольку absoluteString
дает мне "http://m.google.com/", тогда как моя строка "http://m.google.com" без косой черты в конце, даже если я создайте NSURLRequest, используя
[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://m.google.com"]]
он по-прежнему дает мне "http://m.google.com/" для absoluteString
, интересно, есть ли какой-либо надежный способ сравнить с NSURL или одним NSURL и одним NSString?
-
проверьте, содержит ли "один" другой, но это не является надежным, поскольку "http://m.google.com/blabla" содержит "http://m.google.com" .
-
конвертировать NSString в NSURL и использовать метод
isEqual
для сравнения двух NSURL и, надеюсь, реализация NSURLisEqual
может понять это? -
на основе шага 2, но конвертируйте каждый NSURL в стандартный URL, используя
standardizedURL
?
Спасибо большое!