Apple が NIB ファイルからセルをインスタンス化するショートカット メソッドを導入したのは、iOS 5 以降で、次の 3 つの段階があります。
- セル識別子のプロパティの宣言
- セルを含む NIB オブジェクトを登録し、それをセル識別子に関連付ける
- セル自体を作成する (そして通常どおりコントロールをカスタマイズする)
NIB オブジェクトの登録は、コントローラーの有効期間中に 1 回だけ行う必要があるため、コードを配置する明白な場所viewDidLoad
は、tableView のコントローラーのメソッドです。
cellIdentifier = @"CustomCell";
[tableView registerNib:[UINib nibWithNibName:@"customCell" bundle:nil]
これには 2 つのパラメーターが必要です。
- UINib の
nibWithNibName
メソッドに渡すことで取得する UINib のインスタンスへの参照
- 以前に作成された
NSString
セル識別子
NIB がセルとして使用するために登録された後、dequeueReusableCellWithIdentifier
メソッドは次の 2 つのいずれかを実行します。
- 再利用できるキャッシュされたセルがある場合、そのセルはキューから取り出され、セル変数を介してアクセスできます。
- 再利用できるセルがない場合は
dequeueReusableCellWithIdentifier
、登録済みの NIB からセルを作成します。
これらは両方ともバックグラウンドで行われるため、セルの存在を手動でチェックする必要がなくなりました。dequeueReusableCellWithIdentifier
がすべてを処理します。