【问题标题】:How to set view outlet using tab bar controller in iPhone SDK如何在 iPhone SDK 中使用标签栏控制器设置视图出口
【发布时间】:2009-03-24 08:48:54
【问题描述】:

我在 Xcode 中创建了一个简单的标签栏应用程序。

默认标签栏有 2 个标签栏项目。我添加了第三个选项卡栏项并将其视图控制器属性设置为我创建并随后保存的名为 ThirdView.xib 的视图。

当我尝试运行时,前两个默认选项卡工作正常。我添加的第三个抛出了这个错误:

    *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', 
reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "ThirdView" nib but 
the view outlet was not set.'

我很抱歉,因为我是一个巨大的 iPhone-SDK n00b,但没有任何点击和拖动以及控制点击拖动的方式允许我在我创建的第三个视图上设置视图出口。

【问题讨论】:

    标签: iphone


    【解决方案1】:

    10 分钟前我遇到了类似的问题,它是未保存的 xib 文件 :)。由于某些原因,XCode 在单击运行时不会要求保存 xib 文件。

    但如果不是这样,我会仔细检查视图是否确实连接到 xib 文件中。

    为此,将 ThirdView.xib 作为纯文本文件打开(右键单击 > 打开为 > 纯文本文件) 并搜索文本:">view

    <object class="IBConnectionRecord">
        <object class="IBCocoaTouchOutletConnection" key="connection">
            <string key="label">view</string>
            <reference key="source" ref="372490531"/>
            <reference key="destination" ref="191373211"/>
        </object>
        <int key="connectionID">15</int>
    </object>
    

    如果您找不到它,这可能意味着问题是由 Interface Builder 中的错误引起的。然后您可以尝试手动添加连接。如果是这样,请告诉我。

    【讨论】:

      【解决方案2】:

      检查您传递给 initFromNib 的文件名(或者您正在加载控制器)。错字或包含扩展名可能会导致此消息。

      【讨论】:

        【解决方案3】:

        使用 XCode 4,我收到此错误,因为我没有为选项卡栏控制器上的“第三”按钮设置 NIB 名称。我通过选择“第三”按钮而不是按钮内的选项卡栏项来修复它,并使用属性检查器设置了 NIB 名称。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-04-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-11
          • 2010-11-22
          相关资源
          最近更新 更多