Xcode 4.5破坏了XIB?

Dim*_*ima 45 xcode exception uitableview xib nib

我正在使用新的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];
} 
Run Code Online (Sandbox Code Playgroud)

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

小智 71

我遇到了同样的问题并通过取消选中Utilities中Document Inspector窗格中的'Use Autolayout'复选框来修复它.


aTo*_*Toz 59

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


Sym*_*ric 8

我刚刚遇到这个问题并将其跟踪到UIButton,该标题字段在属性检查器中设置为Attributed.将此更改为Plain可解决此问题.如果我没记错的话,我在最新版本的Xcode中添加了这个按钮,然后也遇到了麻烦.


Asc*_*iom 6

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

然后我收到一个编译器错误,告诉我iOS5不支持使用Autolayout,转为文档检查器中的问题并修复了我的问题.