从 NIB 加载的 UITableViewCells 始终为零
Posted
技术标签:
【中文标题】从 NIB 加载的 UITableViewCells 始终为零【英文标题】:UITableViewCells loaded from NIB always nil 【发布时间】:2010-04-20 15:59:08 【问题描述】:我正在尝试使用 Apple 开发人员文档 here 中记录的 UITableViewController
创建一个简单的表单。
我正在尝试做的位于标题为“静态行内容的技术”的部分中
我创建了几个UITableViewCells
并将它们添加到我的笔尖,但是当我尝试访问它们以将它们添加到UITableView
(在cellForRowAtIndexPath:
方法中)时,它们始终为空。
好像它们没有从笔尖正确加载。我已经双重/三重/四重检查了我的代码,以确保我完全按照文档中的详细说明进行操作,但没有运气。
我在这里遗漏了什么明显的东西吗?
【问题讨论】:
【参考方案1】:您是否确定已在 nib 文件中连接了 IBOutlets?
在你的 ViewController.h 文件中你应该有:
IBOutlet UITableViewCell *specialCell1;
IBOutlet UITableViewCell *specialCell2;
然后这些中的每一个都应该“连接”到 nib 文件中的相应单元格。如果没有,它们将不存在!
【讨论】:
我知道了...它仍然无法正常工作。我刚刚尝试了一个非常简单的测试项目,它运行良好,所以我认为这与我如何创建父视图控制器有关。【参考方案2】:想通了……
当我添加我的父视图控制器时,我使用的是简单的“init”。切换到“initWithNibName”解决了这个问题...
还在学习中... :)
【讨论】:
Graaaah 这些答案让我抓狂!这是我发现的第二个问题与我遇到的完全相同的问题,这是第二个问题,以“没关系,找到它”结束,完全缺乏我能理解的解释。 :( 我知道我需要调用 initWithNibName somewhere,但我不明白在哪里以及如何。这是我的根控制器,所以它不能在上面的控制器中,显然不在任何 init 方法中,因为那也不起作用。对不起,我只是需要发泄一下。不期待答案。以上是关于从 NIB 加载的 UITableViewCells 始终为零的主要内容,如果未能解决你的问题,请参考以下文章
从 nib 加载 UITableViewCell 子类时给出的类型错误
从 xib 加载 UITableViewCell 会导致加载 nib 但未设置视图出口
从 Nib 加载的 UITableViewCell 中的 UILabel 大小调整
从 NIB 加载自定义 UITableViewCell 问题