使用Storyboard创建的单元原型的自定义UITableViewController的编程实例化

时间:2012-03-26 03:15:48

标签: iphone ios uitableview uistoryboard

我有一个segue(称为"ToSettingsSegue"),它将自定义视图控制器(SettingsTableViewController)推送到UINavigationController的堆栈上。 SettingsTableViewController已设置原型单元格("prototypeSliderCell")。毫无疑问,这是在故事板中设置的。

另一部分代码以编程方式将SettingsTableViewController推送到UINavigationController的堆栈。在SettingTableViewController的{​​{1}}方法中,-tableView:cellForRowAtIndexPath:在以编程方式完成时返回nil。

我认为这是由于原型单元格无法以编程方式提供而发生的。

我的解决方法?致电-dequeueResusableCellWithIdentifier:并发送-perfromeSegueWithIdentifier:sender:和自我。

这个问题有更好的解决方案吗?我不禁觉得这很脏。

1 个答案:

答案 0 :(得分:1)

当您在代码中而不是通过故事板segue实例化SettingsTableViewController时,原型单元定义不可用,因为它仅在故事板中定义。

你描述的“解决方法”应该可以正常工作,我看不出任何肮脏的东西。在很多情况下,您需要以编程方式触发故事板segue发生,这就是performSegueWithIdentifier:sender:旨在处理的内容。