Xcode 4.5腐蚀XIB?

Xcode 4.5腐蚀XIB?,xcode,exception,uitableview,xib,nib,Xcode,Exception,Uitableview,Xib,Nib,我正在使用新的xcode 4.5, 我在某个视图控制器上有以下几行代码: DiscoverCell* cell=[table dequeueReusableCellWithIdentifier:@"DiscoverCell"]; if(cell==nil){ NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"DiscoverCell"

我正在使用新的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是苹果的垃圾吗?

我刚刚遇到了这个问题,并找到了一个UIButton,在属性检查器中将标题字段设置为Attributed。将此更改为“普通”修复了问题。如果我没记错的话,我在最新版本的Xcode中添加了这个按钮,当时也遇到了问题。

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

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


然后我得到了一个编译器错误,它告诉我iOS5不支持使用自动布局,在文档检查器中打开了,我的问题得到了解决。

我使用的是Xcode 4.5和iPhone simulator 5.0,在显示第一个表时也出现了同样的错误。按照“取消选中autolayout”的建议,我将文档版本控制切换到iOS 5.0,使其正常工作。(故事板已选中->文件标识选项卡->界面生成器文档->文档版本控制。)自动布局已取消选中。

因此,经过大约一个小时的尝试,我解决了这个问题。这确实是上面所描述的:确保你的.xib与你的主应用程序的目标版本相同(在本例中,很可能<6.0),并取消选中此特定.xib选项中的“使用自动布局”

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

希望我能拯救那些因这个错误而遭受痛苦的人

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


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

将其设置为普通后,错误消失。

在“loadNibNamed:”之后的名称必须是nib文件的名称(在屏幕左侧的project navigator中),有时人们会在其中写入“cell identifier”,从一开始就在CellForRowAtIndexPath中写入(静态NSString…)


你的问题可能出在这个小错误上?

当我尝试在iOS 5.1设备上启动带有NIB的应用程序时,我遇到了同样的问题…(当我在模拟器中启动应用程序时,一切正常。)我的解决方法是使用Xcode 4.4…使用右侧的文件实用程序面板,如果是部署目标,请确保NIB的项目目标设置为iOS 5。默认情况下,这是在Xcode 4.5中的IOS6项目中设置的,它将进行更改并以不向后兼容的方式保存nib。将所有NIB更改为实际的iOS版本以便部署和保存。如果您使用的是iOS6,请务必查看此帖子,我也有同样的问题,但我知道这是一个问题。如果已取消选择,则选择、保存并运行、停止取消选择,然后保存并再次运行。在我的例子中,它成功了。嘿@dima,这是一个很好的问题,和你一样漂亮。你只需要重写标题,因为当更改为“普通”时,它被清除,但所有字体和颜色设置都被保留。那么,如果我需要它被归因于什么呢?死了-有人提交错误报告了吗?