【发布时间】:2012-04-17 03:08:40
【问题描述】:
使用情节提要,静态单元格,在cellForRowAtIndexPath: 行
UITableViewCell *cell =
[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
总是返回nil。
我已经检查了以下内容:
- 在 IB/Storyboard 中正确设置了单元格的标识符,我在代码中使用了相同的标识符。我多次验证了这一点。
- 我没有在其他地方实例化视图控制器(这是this stackoverflow question 中的问题)。
我的视图控制器是UITableViewController 的子类,当然,它被包装在故事板中的一个ad hoc 导航控制器中。怀疑我的视图控制器不知何故不知道故事板中定义的单元格标识符,因为它可能是另一个实例,这是“实例化”它的代码。在prepareForSegue:,我使用
CustomViewController *vc = [[[segue destinationViewController]
viewControllers] objectAtIndex:0];
此处完成的视图控制器的其他自定义(设置属性等)工作正常。
我使用静态单元格是因为节和行的数量没有改变,并且每个单元格都包含静态文本(以及要编辑的其他控件或文本字段)。
在我看来,这是一项非常常见的任务(在视图控制器的数据源方法中自定义情节提要中的静态单元格)。我做错了什么?
【问题讨论】:
-
您必须向我们展示您实际处理创建自定义单元格的位置。这是重要的部分。
-
我在情节提要中创建了自定义单元格。键入“自定义”及其自己的单元格标识符。这样不行吗?
-
我错过了整个静态部分。静态单元完全在情节提要中设计。请参阅本优秀教程的第 2 部分 www.raywenderlich.com/5191/beginning-storyboards-in-ios-5-part-2
-
我经历过。为什么它返回 nil?
-
因为你不能将它与静态故事板一起使用:)。该方法适用于原型样式。
标签: iphone ios ios5 uitableview storyboard