【发布时间】:2013-05-18 05:03:05
【问题描述】:
我在 Storyboard 场景中使用静态单元定义了一个表格视图控制器。 表格视图本身包含六个部分,每个部分包含一个或两个单元格。 我在视图控制器中通过此方法将数据写入单元格:
- (void)setUpAllCells
{
//Charge Name
NSIndexPath *path = [NSIndexPath indexPathForRow:0 inSection:0];
TableViewCellTextField *currentTextField = (TableViewCellTextField *)[[self tableView] cellForRowAtIndexPath:path];
[currentTextField.textField setDelegate:self];
//Charge Description
path = [NSIndexPath indexPathForRow:1 inSection:0];
currentTextField = (TableViewCellTextField *)[[self tableView] cellForRowAtIndexPath:path];
[currentTextField.textField setDelegate:self];
...
path = [NSIndexPath indexPathForRow:0 inSection:5];
TableViewCellControl *currentControl = (TableViewCellControl *)[[self tableView] cellForRowAtIndexPath:path];
[currentControl setValue:m_data->trailBurnTime];
}
调用自:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self setUpAllCells];
}
当我运行应用程序时,除了最后一部分之外,每个单元格都会按预期响应。
最后一部分的单元格未连接到我的控制器,并保留故事板场景中的默认值。我在 setUpAllCells 中设置了一个断点,发现最后一部分的 cellForRowAtIndexPath 返回 nil。
我已将这种格式用于其他五个视图控制器,但没有发生过这种情况。
这是我迄今为止尝试过的:
我使用自己的自定义 TableViewCells 进行了测试,当这些都不起作用时,使用标准 UITableViewCells。最后一部分总是返回 nil。
我重新排列了部分和单元格。最后一部分总是返回 nil。
我完全删除了该部分。没有它,其他部分仍然可以正常工作。
我添加了更多部分。第 5 节中的任何内容在 CellForRowAtIndexPath 处返回 nil。
我在这里不知所措。我不知道是什么原因造成的。
建议?
【问题讨论】:
-
如果您的表格视图有 6 个部分,那么您在最后一段代码中没有第 6 部分。
-
@rdelmar 哎呀。我打错了。在我的原始代码中是 5。这是我按照问题底部所述进行的测试遗留下来的。
标签: ios cocoa-touch uitableview