自定义UITableViewController与使用情节提要创建的单元原型的程序化实例化



我有一个segue(称为"ToSettingsSegue"),它将自定义视图控制器(SettingsTableViewController)推送到UINavigationController的堆栈上。SettingsTableViewController已经建立了原型细胞("prototypeSliderCell")。不用说,这是在故事板中设置的。

另一段代码以编程方式将SettingsTableViewController推送到UINavigationController的堆栈上。在SettingTableViewController-tableView:cellForRowAtIndexPath:方法中,当以编程方式执行此操作时,-dequeueResusableCellWithIdentifier:返回nil。

我认为这是由于原型单元无法通过编程获得。

我的解决方法?调用CCD_ 11并发送CCD_ 12和self。

这个问题有更好的解决办法吗?我忍不住觉得这太脏了。

当您在代码中实例化SettingsTableViewController而不是通过情节提要分段实例化时,原型单元格定义不可用,因为它只在情节提要中定义。

你描述的"变通方法"应该很好用,我看不出它有什么不好的地方。在很多情况下,你会想通过编程触发故事板片段,而这正是performSegueWithIdentifier:sender:的设计初衷。

最新更新