【问题标题】:UITableViewCells loaded from NIB always nil从 NIB 加载的 UITableViewCells 始终为零
【发布时间】:2010-04-20 15:59:08
【问题描述】:

我正在尝试使用 Apple 开发人员文档 here 中记录的 UITableViewController 创建一个简单的表单。

我正在尝试做的位于标题为“静态行内容的技术”的部分中

我创建了几个UITableViewCells 并将它们添加到我的笔尖,但是当我尝试访问它们以将它们添加到UITableView(在cellForRowAtIndexPath: 方法中)时,它们始终为空。

好像它们没有从笔尖正确加载。我已经双重/三重/四重检查了我的代码,以确保我完全按照文档中的详细说明进行操作,但没有运气。

我在这里遗漏了什么明显的东西吗?

【问题讨论】:

    标签: iphone cocoa-touch uikit uitableview nib


    【解决方案1】:

    您是否确定已在 nib 文件中连接了 IBOutlets?

    在你的 ViewController.h 文件中你应该有:

    IBOutlet UITableViewCell *specialCell1;
    IBOutlet UITableViewCell *specialCell2;
    

    然后这些中的每一个都应该“连接”到 nib 文件中的相应单元格。如果没有,它们将不存在!

    【讨论】:

    • 我知道了...它仍然无法正常工作。我刚刚尝试了一个非常简单的测试项目,它运行良好,所以我认为这与我如何创建父视图控制器有关。
    【解决方案2】:

    想通了……

    当我添加我的父视图控制器时,我使用的是简单的“init”。切换到“initWithNibName”解决了这个问题...

    还在学习中... :)

    【讨论】:

    • Graaaah 这些答案让我抓狂!这是我发现的第二个问题与我遇到的完全相同的问题,这是第二个问题,以“没关系,找到它”结束,完全缺乏我能理解的解释。 :( 我知道我需要调用 initWithNibName somewhere,但我不明白在哪里以及如何。这是我的根控制器,所以它不能在上面的控制器中,显然不在任何 init 方法中,因为那也不起作用。对不起,我只是需要发泄一下。不期待答案。
    猜你喜欢
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-02
    • 2012-01-16
    • 2020-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多