【问题标题】:Made a change in Interface Builder, Xcode is not showing it在 Interface Builder 中进行了更改,Xcode 没有显示它
【发布时间】:2011-05-10 21:47:46
【问题描述】:

这就是我现在的界面的样子:

这是我在 Interface Builder 中将其更改为的内容:

这是我在 Xcode 中运行后显示的内容:

显然这两个程序没有交流 - 如果有人能指出我正确的方向,那就太好了。

谢谢大家!

【问题讨论】:

  • 我知道问这个问题很愚蠢,但是您是否在编辑后保存了 .xib 文件?如果没有,xcode 将继续加载最近保存的文件。但是,如果它与 textField 一起保存,我们可以尝试从那里开始工作
  • 谢谢,我确实保存了它,但我也更改了文件的名称 - 它不喜欢它(出于明显的原因哈哈)xD 现在已修复:3

标签: objective-c xcode textbox interface-builder


【解决方案1】:

如果内容不同步,请尝试清理您的构建。 Product>Clean 应该可以解决问题。

【讨论】:

  • 谢谢大家,这似乎是两者的结合。首先我做了“清理所有目标”,然后我构建并运行了它。然后它告诉我它试图读取的笔尖不存在。我意识到我已经更改了我正在处理的笔尖的名称,而我的程序正在等待旧名称。将其重新保存为旧名称后,它现在可以使用了! :)
  • 尝试从 iOS 模拟器(或设备)中删除应用程序 - 这对我有帮助。
  • @Pavel:也许你正在考虑 iOS 编程,但 Mac 没有模拟器。该应用程序直接运行。 ;)
【解决方案2】:

程序通过 NIB/XIB 文件进行通信。确保在 XCode 中重建之前保存了 Interface Builder 中的更改(这不会自动发生)。还要仔细检查 Interface Builder 正在编辑的文件是否与 XCode 项目中的文件完全相同(不是副本)。

希望这会有所帮助。

【讨论】:

  • 谢谢大家,这似乎是两者的结合。首先我做了“清理所有目标”,然后我构建并运行了它。然后它告诉我它试图读取的笔尖不存在。我意识到我已经更改了我正在处理的笔尖的名称,而我的程序正在等待旧名称。将其重新保存为旧名称后,它现在可以使用了! :)
【解决方案3】:

如果您重命名 nib 但忘记更改在其 initWithNibName: bundle 初始化程序中传递给 ViewController 的 nib 名称的名称,则会发生这种情况。

例如。如果我有一个名为 ViewOne.xib 的笔尖,我将像这样将其传递给 ViewController:

ExampleViewController *exampleViewController = [[ExampleViewController alloc] initWithNibName:@"ViewOne" bundle:nil];

并且我将 nib 的名称更改为 ViewTwo,Xcode 不够聪明,无法在初始化程序中修改此引用,因此现在将不再存在的 xib 传递给 ViewController。由于我无法理解的原因,尽管事实上不再有一个名为ViewOne.xib 的笔尖,Xcode 仍然维护着某种文件的幽灵,并且您不会因为缺少笔尖而收到错误消息。至少在我的情况下,清理和删除派生数据并没有摆脱这个幽灵引用。

修复很简单 - 只需将初始化程序中的 nib 名称修改为您的新名称即可:

ExampleViewController *exampleViewController = [[ExampleViewController alloc] initWithNibName:@"ViewTwo" bundle:nil];

【讨论】:

    猜你喜欢
    • 2012-08-23
    • 2010-12-06
    • 2011-06-21
    • 1970-01-01
    • 2014-09-19
    • 2012-11-22
    • 1970-01-01
    • 2016-03-26
    • 2011-06-13
    相关资源
    最近更新 更多