【问题标题】:Xcode 4.5 corrupting XIBs?Xcode 4.5 损坏 XIB?
【发布时间】:2012-06-23 15:48:40
【问题描述】:

我正在使用新的 xcode 4.5, 我在某些视图控制器上有这行代码:

DiscoverCell* cell=[table dequeueReusableCellWithIdentifier:@"DiscoverCell"];
if(cell==nil){
    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"DiscoverCell" 
                                                 owner:self 
                                               options:nil];
    cell = [nib objectAtIndex:0];
} 

当我运行应用程序时,它抛出:由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“NIB 数据无效。” 在 LoadNib 线上, 那是什么?这个 xcode 是不是苹果垃圾?

【问题讨论】:

  • 当我尝试在 iOS 5.1 设备上启动带有 NIB 的应用程序时遇到了同样的问题......(当我在模拟器中启动应用程序时,一切正常。)我的解决方法是使用 Xcode 4.4...
  • 使用右侧的文件实用程序面板,确保您的 NIB 的项目目标设置为 iOS 5(如果这是您的部署目标)。默认情况下,这是在 Xcode 4.5 中的 iOS 6 项目中设置的,它将进行更改并以非向后兼容的方式保存 nib。将所有 nib 更改为实际的 iOS 版本以进行部署和保存。
  • 如果您使用的是iOS6,请务必查看此帖子stackoverflow.com/questions/12411980/…
  • 我也有同样的问题,但我知道这是个问题。如果它已经未选中,则选择,保存并运行,停止未选中,然后保存并再次运行。就我而言,这使它起作用。
  • 嘿@dima,这是一个很好的问题,很漂亮,就像你一样。

标签: xcode exception uitableview xib nib


【解决方案1】:

“loadNibNamed:”后面的名称必须是 nib 文件的名称(在屏幕左侧的项目导航器中),有时人们会在 CellForRowAtIndexPath (静态 NSString . ..)。

这个小故障可能是你的问题?

【讨论】:

    【解决方案2】:

    为我的所有 .xib 文件禁用自动布局后,我仍然遇到错误。 这是因为我在 .xib 文件中为 UILabel 使用了 Text -> Attributed。

    将其设置为 Plain 后,错误消失了。

    【讨论】:

      【解决方案3】:

      取消选中下图中突出显示的“使用自动布局”。 Xcode 4.5 默认为您添加到项目中的新 nib 文件启用此属性。取消选中自动布局复选框解决了问题

      【讨论】:

        【解决方案4】:

        所以,经过大约一个小时的尝试,我找到了问题所在。确实是上面描述的:确保您的 .xib 设置为与您的主应用程序编写的相同的目标版本(在这种情况下,很可能

        它可以在模拟器中运行的原因是因为你的模拟器实际上运行的是 iOS6。尝试使用具有较旧 iOS 的设备时,将导致此错误。我的问题是,我正在创建一个自定义 TableViewCell,默认情况下它是针对 iOS 6 的,并且选中了“使用自动布局”。这是我的罪魁祸首。

        希望我能够拯救我因这个错误而遭受的悲痛!

        【讨论】:

          【解决方案5】:

          我正在使用 Xcode 4.5 和 iPhone 模拟器 5.0,并且在显示第一个表时出现同样的错误。按照“取消选中自动布局”的建议,我通过将文档版本控制切换到 iOS 5.0 来实现它。 (故事板已选择 -> 文件识别选项卡 -> 界面生成器文档 -> 文档版本控制。)自动布局已被取消选择。

          【讨论】:

            【解决方案6】:

            对我来说,这是 Jason Coco 的评论和 tomgerhardt 的回答的结合:我的应用针对 iOS5,我升级到 Xcode 4.5 并创建了一个新的 NIB。默认情况下,这针对 iOS6,导致崩溃。我在 NIB 的文件检查器窗口中将其设置为 iOS5。

            然后我收到一个编译器错误,告诉我 iOS5 不支持使用自动布局,在文档检查器中将其关闭,我的问题得到了修复。

            【讨论】:

              【解决方案7】:

              我遇到了同样的问题,并通过取消选中“实用工具”中“文档检查器”窗格上的“使用自动布局”复选框来修复它。

              【讨论】:

              • 死了 - 有人提交错误报告了吗?
              【解决方案8】:

              我刚刚遇到了这个问题,并将其追踪到一个 UIButton,该 UIButton 的 Title 字段在 Attributes Inspector 中设置为 Attributed。将其更改为普通解决了该问题。如果我没记错的话,我在 Xcode 的最后一个版本中添加了这个按钮,然后也遇到了问题。

              【讨论】:

              • 您只需要重写标题,因为更改为纯文本时它会被清除,但所有字体和颜色设置都会保留。
              • 那如果我需要归因呢?
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2012-10-11
              • 1970-01-01
              • 2019-12-01
              • 1970-01-01
              • 2012-11-28
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多