如何从tableview为静态单元格设置值(或者在init时从表视图中获取)

时间:2012-02-28 11:36:59

标签: ios xcode uitableview

我有一个带有静态单元格的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访问该对象。委派。

在初始化时,将该值从UITableViewController传递给TableViewCellController或从TableViewCellController访问它的最佳方法是什么?

由于

1 个答案:

答案 0 :(得分:2)

所以这就是我做的方式。我在父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;
    }
}