在 UIViewController 上使用 UITableView
Posted
技术标签:
【中文标题】在 UIViewController 上使用 UITableView【英文标题】:Using a UITableView on a UIViewController 【发布时间】:2013-12-06 09:34:21 【问题描述】:我首先在 Xcode storyboard
中创建了一个 UITableViewController
(显然上面有一个 UITableView
)但是因为我还想要一个 UIButton
和同一页面上的分段控件,所以我用 @ 替换了视图987654326@ 和 UIView
然后在上面放一个 UITableView
并将我已经定义的 (static
) 表格单元格移到其中。
但是在尝试编译时出现错误:
.../iPhone.storyboard: Exception while running ibtool: *** setObjectForKey: object cannot be nil (key: objectID)
有人知道这里出了什么问题吗?
【问题讨论】:
我觉得你的数据源可能是nil...那就是某个索引里没有数据...能不能把你的tableview创建代码放上来 检查数据源和委托已设置。如果设置是真正的调用? 这对我有用:***.com/questions/19730440/… 【参考方案1】:您只能将静态单元格与 UITableViewController 一起使用。
【讨论】:
【参考方案2】:静态单元格只能与 UITableViewController 一起使用。禁用“Accessibility
”选项并再次尝试构建。参考这个UISwitch in static UITableViewCell generates error
了解更多信息
【讨论】:
在哪里禁用 tableview 的辅助功能?更重要的是:为 UIView 嵌入的 tableview 定义一个自定义控制器类肯定是可能的,是吗? 我看到辅助功能在身份检查器中。好吧,UITableView 没有显示这样的选项,并且对于 UIView 和表格单元格,它们已经被禁用了。 我认为这里需要的是这个:***.com/questions/19730440/… 请忽略“辅助功能”选项,我认为它适用于 uiswitch。尝试将 UITableViewController 用于静态单元格,取一个 viewController 并将 tableviewcontroller 添加到该 viewcontroller 的另一个视图中。 是的,看我之前的评论。毕竟这是解决方案。使用容器嵌入 tableview 控制器,以便 table 可以使用控制器。【参考方案3】:如果您可以放置一些代码示例来看看发生了什么,那将会很有帮助,因为从理论上讲,您做的一切都是正确的!
你一定忘记了一些变量或什么,什么是零。检查 Storyboard 和 ViewController.m 之间的接线,这可能是个问题。
【讨论】:
以上是关于在 UIViewController 上使用 UITableView的主要内容,如果未能解决你的问题,请参考以下文章
从父 UIViewController 类继承 UI 组件?
将 UIViewController 的 UI 扩展到子 UIViewControllers
如何将 UI 元素保留在 UIViewController 及其呈现的 ViewController 之上?
从 swiftUI 中的一个嵌入式 UIViewController 导航到 swift UI 中的另一个嵌入式 UIViewcontroller