UITableViewで使用するCellをカスタムCellとして作成して、その中でさらにUITableView(こちらも別のカスタムCellを作成)を使用する、要はUITableView-UITableViewCell(を継承したクラス)の入れ子状態にする必要に迫られ、試した際のメモです。
通常、カスタムCellを使用する場合、UITableViewControllerを継承したクラスの”viewDidLoad”などで、以下のようなコードを実行するかと思います。
UINib *nib = [UINib nibWithNibName:@"TableViewCell" bundle:nil]; [self.tableView registerNib:nib forCellReuseIdentifier:@"Cell"];
そして、”cellForRowAtIndexPath”でカスタムCell生成時に以下のように使用します。
static NSString *CellIdentifier = @"Cell"; CSCBCTopTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
これを入れ子となるUITableView-UItableVIewCellで呼ぶ際、どのタイミングで”forCellReuseIdentifier”を呼ぶかというのが今回のポイントです。
結果的には、入れ子元の”cellForRowAtIndexPath”で呼び出す事でうまくいきました。