私の現在の実装では、デリゲート メソッド内でUISearchBarController
使用して、入力を開始したときに name プロパティに基づいて関連するオブジェクトを結果に返します。[NSString compare:]
filterContentForSearchText:scope:
UITableView
これまでのところ、これは英語と韓国語でうまく機能しますが、私ができるようにしたいのは、NSString
の定義された文字クラスター内での検索です。これは、韓国語を含む一握りの言語にのみ適用されます。
英語でcompare:
は、文字を入力するたびに新しい結果が返されますが、韓国語では、認識された書記素クラスターを完了すると結果が生成されます。音節を構成する個々の要素を介して、韓国語のオブジェクト名プロパティを検索できるようにしたいと考えています。
これにアプローチする方法について誰かが光を当てることができますか? UTF16文字を手動で検索するか、下位レベルのクラスを利用することと関係があると確信しています。
乾杯!
うまくいかない具体的な例を次に示します。
`NSString *string1 = @"이";
`NSString *string2 = @"ㅣ";
NSRange resultRange = [[string1 decomposedStringWithCanonicalMapping] rangeOfString: [string2 decomposedStringWithCanonicalMapping] options:(NSLiteralSearch)];
の有無にかかわらず、結果は常に NSNotFounddecomposedStringWithCanonicalMapping
です。
何か案は?