1

UITableViewのインデックススクローラー(各セクションの文字を含む右側のスクローラー)で、英語の文字と日本語の文字を組み合わせて表示するにはどうすればよいですか?NSStringの最初の文字を取得し、それが実際にéまたは何かの一部であるかどうかを確認する方法はありますか(éは2つのUnicode文字--e + `であるため)。コードスニペットは非常に役立ちます。最初の文字を実行するだけで、日本語の文字の代わりに「=」や「〜」などのランダムな文字が表示されるようになります

ありがとう!

注:CoreDataのFetchResultsControllerを使用しているため、UILocalizedIndexedCollat​​ionを使用していません。オンラインの多くの場所で、両方を実際に使用することはできないと読んだことがあります。

編集:私は今キャラクターを取得できますが、テーブルビューインデックスはそれらを適切にレンダリングしていないようです。テーブルビューインデックスに日本語の文字のようなものが表示されている人はいますか?

4

1 に答える 1

0

最も確実な方法は、NSStringこれらの文字に敏感なメソッドを使用することです。あなたはおそらくWWDC2011-セッション128-高度なテキスト処理ビデオに興味があるでしょう。それはまさにこの主題について広範囲に話します。「合成文字シーケンス」の部分に注意してください

そこに提示された情報に基づいて、おそらく次のようなことを行うことができます。

#warning I haven't tested this thoroughly
NSString *string = @"Hello";
__block NSString *firstCharacterSequence = nil;
[string enumerateSubstringsInRange:NSMakeRange(0, string.length) 
                           options:NSStringEnumerationByComposedCharacterSequences 
                        usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop){
                            firstCharacterSequence = substring;
                            *stop = YES;
                        }];
NSLog(@"%@",firstCharacterSequence);
于 2012-07-11T04:15:25.213 に答える