iphone - 自定义 UITableViewController 的编程实例化以及使用 Storyboard 创建的单元格原型(prototype)

标签 iphone ios uitableview uistoryboard

我有一个 segue(称为 "ToSettingsSegue"),它将自定义 View Controller (SettingsTableViewController) 推送到 UINavigationController 的堆栈上。 SettingsTableViewController 设置了原型(prototype)单元格 ("prototypeSliderCell")。不用说,这是在 Storyboard中设置的。

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

我假设这是由于无法以编程方式提供原型(prototype)单元而发生的。

我的解决方法?调用 -perfromeSegueWithIdentifier:sender: 并发送 "ToSettingsSegue" 和 self。

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

最佳答案

当您在代码中而不是通过 Storyboard segue 实例化 SettingsTableViewController 时,原型(prototype)单元格定义不可用,因为它仅在您的 Storyboard中定义。

您描述的“解决方法”应该可以正常工作,而且我看不出有什么不妥之处。在许多情况下,您会希望以编程方式触发 Storyboard转场发生,而这正是 performSegueWithIdentifier:sender: 旨在处理的问题。

关于iphone - 自定义 UITableViewController 的编程实例化以及使用 Storyboard 创建的单元格原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9866198/

相关文章:

ios - 如何在 swift ios 中单击时更改单元格中的按钮?

iphone - 如何在 iOS 应用程序中使用 Google Places API 搜索多种类型

iphone - 核心数据 : How to model circular many-to-many relationships

ios - 消失的弹出警报 View

ios - 如何允许屏幕外的 UITableViewCell 下推内容偏移量?

ios - 在 uitableview 编辑模式下丢弃 segue

javascript - xhr.getAllResponseHeaders() 在 IPHONE Safari 浏览器中未定义

iphone - 转换一个NSString

ios - MPMoviePlayerController 下一个上一个按钮不正确的通知

ios - 如何使用 Swift 的 Decodable 来解析您只知道或只关心几个字段的任意 JSON 字符串?