私は奇妙な問題に直面しています。 私は、isEqualtoStringメソッドを使って比較したいUITextFieldとNSStringを持っています。 文字列にはÄ、Ö、Üなどのドイツ語のUmlauteは含まれていない限り、すべて正常に動作しますが、それを行うともう機能しません。 NSLogはUmlaute-Stringsを正しく出力します。NSStringをÄ、Ö、Üと比較しています
何とか文字列をフォーマットする必要がありますか?この問題は私を狂ってしまう!
私は奇妙な問題に直面しています。 私は、isEqualtoStringメソッドを使って比較したいUITextFieldとNSStringを持っています。 文字列にはÄ、Ö、Üなどのドイツ語のUmlauteは含まれていない限り、すべて正常に動作しますが、それを行うともう機能しません。 NSLogはUmlaute-Stringsを正しく出力します。NSStringをÄ、Ö、Üと比較しています
何とか文字列をフォーマットする必要がありますか?この問題は私を狂ってしまう!
次のような高度なNSString
比較方法、使用することができます。
- (NSComparisonResult)compare:(NSString *)aString
options:(NSStringCompareOptions)mask
range:(NSRange)range
locale:(id)locale
をして、高度なオプションを指定します。あなたがに興味がある可能性があり、特定のオプション:
NSCaseInsensitiveSearch
NSDiacriticInsensitiveSearch
NSWidthInsensitiveSearch
申し訳ありません私はObjective-Cが比較的新しいです。どうすればいい?私はそれが最初にうまくいかない理由を全く知りません。ドイツ語のようなものではありません;-) – JohannesRu
おそらく 'bool isEqual = NSOrderedSame == [str1比較:str2オプション:NSCaseInsensitiveSearch | NSDiacriticInsensitiveSearch | NSWidthInsensitiveSearch]; '、またはオプションの組み合わせです。その理由は言語かもしれませんし、ロケール、エンコーディングまたは... – justin
オクラホマ大変ありがとうございます! – JohannesRu
の可能重複[特殊文字を含む配列をソートする - iPhone](http://stackoverflow.com/質問/ 2492379/sort-an-array-with-special-characters-iphone) –