内容の保証はできません。


/System/Library/frameWorks/UIKit.framework

クラス UILocalizedIndexedCollation

NSObject
  |
  +--UILocalizedIndexedCollation

概要

UILocalizedIndexedCollationクラスは、テーブルビューが持っているセクションインデクスのデータの編成、ソート、ローカライズに便利なクラスです。テーブルビューのデータソースはコレクションオブジェクト使用することでセクションタイトルとセクションインデクスタイトルを入力したテーブルビューを提供します。

セクションインデックスを持つテーブルビューのデータは、アルファベットのようなシーケンシャルオーダースキームで組織されたたくさんのアイテムで構成されており、理想的な表示とデータへの容易なアクセスを可能にします。ユーザはインデクスタイトルをタップすることで対応するセクションにジャンプすることができます。iPhoneの"連絡先"アプリケーションのテーブルビューがその一例です。セクションタイトルがインデックスのタイトルと異なる場合もあります。

セクションインデックスのためのデータを準備するには、まずUITableViewControllerオブジェクトでインデックスコレクションオブジェクトを作成します。それぞれのインデックスモデルオブジェクトはsectionForObject:collationStringSelector:メソッドをコールします。このメソッドは各モデルオブジェクトを表示すべきかどうかを決定してそれらのオブジェクトがセクションを識別する整数を返します。その後テーブルビューコントローラはそれらのオブジェクトをセクションのローカル配列に配置します。テーブルビューコントローラがコールするsortedArrayFromArray:collationStringSelector:メソッドによって各セクション配列のセクションの全てのオブジェクトがソートされます。インデックスコレクションオブジェクトは今、リスト1に示すように、テーブルビューにセクションインデックスデータを提供するためにテーブルビューコントローラが使用するデータを保管します。

リスト1 テーブルビューにデータを提供するためにインデックスコレクションオブジェクトを使用するデータソース

 
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    return [[[UILocalizedIndexedCollation currentCollation] sectionTitles] objectAtIndex:section];
}
 
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
{
    return [[UILocalizedIndexedCollation currentCollation] indexTitles];
}
 
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index
{
    return [[UILocalizedIndexedCollation currentCollation] sectionForIndexTitleAtIndex:index];
}
 

タスク

共有インスタンスの取得

+ currentCollation

セクション/セクションインデックスの準備

– sectionForObject:collationStringSelector:
– sortedArrayFromArray:collationStringSelector:

テーブルビューにセクションインデックスデータの提供

sectionTitles property
sectionIndexTitles property
– sectionForSectionIndexTitleAtIndex:

プロパティ

sectionIndexTitles

テーブルビューのためのセクションインデックスタイトルのリストを返す(読み取りのみ)

@property(nonatomic, readonly) NSArray *sectionIndexTitles

sectionTitles

テーブルビューのためのセクションタイトルのリストを返す(読み取りのみ)

@property(nonatomic, readonly) NSArray *sectionTitles

クラスメソッド

currentCollation

共有のインデックスコレクションインスタンスを返す。

+ (id)currentCollation

インスタンスメソッド

sectionForObject:collationStringSelector:

モデルオブジェクトが所属するセクションを識別する整数値を返す。

- (NSInteger)sectionForObject:(id)object collationStringSelector:(SEL)selector

sectionForSectionIndexTitleAtIndex:

与えられたインデックスタイトルでテーブルビューがスクロールすべきセクションを返す。

- (NSInteger)sectionForSectionIndexTitleAtIndex:(NSInteger)indexTitleIndex

sortedArrayFromArray:collationStringSelector:

セクション内のオブジェクトを限定的なタイトルでソートする。

- (NSArray *)sortedArrayFromArray:(NSArray *)array collationStringSelector:(SEL)selector


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-10-24 (日) 17:14:25 (2522d)