Как сравнить два NSURL, которые практически эквивалентны, но имеют косметические различия строк?

В IOS я хочу идентифицировать пары NSURL , которые либо идентичны, либо немного отличаются, но относятся к одному и тому же месту назначения. Например, http://google.com vs http://google.com/ .

isEquals сообщает, что эти NSURL-адреса разные. Я также не могу найти способ получить ' каноническая »или« нормализованная »форма NSURL для сравнения этих форм.

NSURL *a = [NSURL URLWithString:@"http://google.com"];
NSURL *b = [NSURL URLWithString:@"http://google.com/"];

if([a isEqual:b]) {
  NSLog(@"Same"); // Not run
}

if([[a absoluteURL] isEqual:[b absoluteURL]]) {
  NSLog(@"Same"); // Still not run
}

if([[a URLByStandardizingPath] isEqual:[b URLByStandardizingPath]]) {
  NSLog(@"Same"); // Still not run
}

Как я могу сравнить два NSURL, игнорируя различия строк, которые не влияют на назначение URL-адреса?

14
задан Jim Blackler 27 April 2011 в 08:58
поделиться