私は最近、2つのNSURLを比較して1つのNSURLとNSString(URLアドレス)を比較すると問題が発生しました。NSURLRequestがどこかで取得され、URLアドレスがわかるかどうかわかりません。2つのNSURLまたは1つのNSURLとNSStringを比較する信頼できる方法はありますか?
[[request.URL.absoluteString lowercaseString] isEqualToString: [self.myAddress lowercaseString]];
これはNOを返します:私はNSURLRequestのURLは私が持っていたURL文字列と同じでない場合は、今私がチェックする必要があり、URL NSStringのを持って、「http://m.google.com」と言いますは私に "http://m.google.com/"を与えていますが、NSURLRequestを作成しても最終的にスラッシュのない "http://m.google.com"という文字列が表示されます。
[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://m.google.com"]]
absoluteString
についてはまだ「http://m.google.com/」と表示されていますが、NSURLまたはNSURLとNSStringを比較する信頼できる方法はありますか?
チェック1の場合は、別のものを「含む」、これは「http://m.google.com/blabla」「http://m.google.com」が含まれて信頼性がありません。
NSStringをNSURLに変換し、
isEqual
メソッドを使用して2つのNSURLを比較し、isEqual
のNSURLの実装を把握できますか?ステップ2を基準にして、それぞれのNSURLを
standardizedURL
を使用して標準URLに変換しますか?
ありがとうございます!
第2のNSURLの末尾に「/」が付いていますか?それは 'isEqualToString'メソッドを捨てるのに十分でしょう。 – Robotnik
はい、しかし、私が求めているのは、実際のURLが同じでないので、最後に '/'があることを確認する必要のない信頼できる方法ですあなたは持っているかどうか、最後には「/」がありません。 – hzxu
いいえ、 'NSURL'の' isEqual: 'は"それを見つけません ":( – dasblinkenlight