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 がすべてを処理します。