UINibでのnibファイル読み込み実装手順
以前書いた記事:『nibファイルの読み込みパフォーマンスを改善するUINibクラス』
これを実際に実装してみました。
※全面的にAppleのサンプルコードを参考にしました。
http://developer.apple.com/library/ios/#samplecode/TableViewUpdates/
1. ビューのインスタンス格納先を宣言
nib読み込み処理を行うクラスで、nibインスタンス格納先となるプロパティを宣言しておきます。
@property (nonatomic, assign) IBOutlet QuoteCell *quoteCell;
2. Interface Builderでアウトレットを接続する
この1,2の手順が肝になります。(従来のloadNibNamed:では必要なかった)
- 読み込み対象のnibをIBで開き、
- File's Ownerのクラスに1でプロパティ宣言を書いたクラス(ここではTableViewController)を指定し、
- ビューとなるnibオブジェクト(ここではQuote Cell)と、1のプロパティ(ここではFile's OwnerのquoteCell)を接続する
3. nibファイルを読み込む
UINib *quoteCellNib = [UINib nibWithNibName:@"QuoteCell" bundle:nil]; [quoteCellNib instantiateWithOwner:self options:nil]; cell = self.quoteCell; self.quoteCell = nil;
ポイントは2行目。
instantiateWithOwner:options:メソッドの戻り値の受け取り先を指定する必要はありません。
1,2の手順を踏むことで、暗黙的にプロパティに読み込んでくれるようになります。