我有一个带有静态单元格的UITableViewController,在演示图板(Xcode 4)中创建。
对于每个单元,我分配了一个TableViewCellController以便具有自定义选择器(http://www.wannabegeek.com/?p=104,并在此处提供了使用示例:http://timroadley.com/2012/02/26/core-data-basics-part-6-core-data-uipickerview/)。
在我的UITableViewController中,我创建一个新对象,我希望TableViewCellController可以访问它。
UITableViewController设置为TableViewCellController的委托,但是在TableViewCellController的init方法(自定义initializeInputView,从initWithCoder调用)中,委托尚未定义,因此我无法使用self.delegate访问对象。
初始化时,将值从UITableViewController传递到TableViewCellController或从TableViewCellController访问该值的最佳方法是什么?
谢谢
最佳答案
所以这就是我的方法。我在父UITableView中使用了willDisplayCell,并强制转换了静态单元格控制器的类型,以便访问其dateValue属性并对其进行初始化。
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
switch (indexPath.section) {
case 0:
switch (indexPath.row) {
case 0:
((DateInputCellController *) cell).dateValue = self.event.date;
break;
case 1:
...
break;
default:
break;
}
break;
default:
break;
}
}