使用storyboard和静态单元格,在cellForRowAtIndexPath:
中的这一行
UITableViewCell *cell =
[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
始终返回 nil
。
我已经检查了以下内容:
- 在 IB/Storyboard 中正确设置了单元格的标识符,并且我在代码中使用相同的标识符。我已经多次验证过了。
- 我没有在其他地方实例化视图控制器(这是这个stackoverflow问题中的问题)。
我的视图控制器是 UITableViewController
的子类,当然,在 storyboard 中它被包装在一个 特设的 导航控制器中。我怀疑我的视图控制器可能不知道在 storyboard 中定义的单元格标识符,因为它可能是另一个实例,下面是“实例化”它的代码。 在 prepareForSegue:
中,我使用
CustomViewController *vc = [[[segue destinationViewController]
viewControllers] objectAtIndex:0];
在这里进行的视图控制器的其他自定义(设置属性等)都很好用。
我使用静态单元格,因为章节和行数不会改变,并且每个单元格包含静态文本(以及其他要编辑的控件或文本字段)。
对我来说,这似乎是一项非常普遍的任务(在视图控制器的数据源方法中从故事板自定义静态单元格)。我做错了什么?