iOS xib崩溃问题
2016-04-06 18:32
316 查看
错误描述:Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:]
loaded the "ServiceMoreDetailedView" nib but the view outlet was not set.'
出错场景:我在ServiceMoreDetailedViewController中,用到了与其名称有重复部分的"ServiceMoreDetailedView"作为其中一个子视图,则会出现上述崩溃现象,此时只需在ServiceMoreDetailedViewController中添加一个系统方法,返回它自己的xib文件名即可,这样就可以消除命名冲突(见方法三)。
可能引起这种错误的原因我将其归为以下三种:
原因一:
没有做nib文件到xxxViewControler程序的关联,解决方法为:
1, 打开nib文件。
2, 点击"File's Owner", 按command+4,设置Class为xxxViewControler。
3, 按Control+"Files's Owner", 里面有个默认的IBOutlet变量view, 看一下后面有没有做关联,如果没有就拉到下面的View和视图做个关联。
原因二:
可能是xcode的问题,xcode本身自带记忆功能,可能你已经修改,或者删除,但是xcode无法识别,继续用默认的,所以出上面方法以外,可以重新建立xib 并且给予不同view名字。
原因三:
这种情况确实难以察觉,即使是清理了工程缓存或者是重新创建了xib文件,更新了xib的名字,但运行的时候,还是一样会崩溃。此时我的解决办法是:在用到这个xib文件的controller中,返回这个controller自身的nib文件的名字(如果这个controller是使用xib创建的)。我的代码如下:
#pragma mark - 返回当前viewController的nibName,避免XCode自动关联类似名称的nib文件导致系统崩溃
- (NSString *) nibName {
return @"ServiceMoreDetailedViewController";
}
loaded the "ServiceMoreDetailedView" nib but the view outlet was not set.'
出错场景:我在ServiceMoreDetailedViewController中,用到了与其名称有重复部分的"ServiceMoreDetailedView"作为其中一个子视图,则会出现上述崩溃现象,此时只需在ServiceMoreDetailedViewController中添加一个系统方法,返回它自己的xib文件名即可,这样就可以消除命名冲突(见方法三)。
可能引起这种错误的原因我将其归为以下三种:
原因一:
没有做nib文件到xxxViewControler程序的关联,解决方法为:
1, 打开nib文件。
2, 点击"File's Owner", 按command+4,设置Class为xxxViewControler。
3, 按Control+"Files's Owner", 里面有个默认的IBOutlet变量view, 看一下后面有没有做关联,如果没有就拉到下面的View和视图做个关联。
原因二:
可能是xcode的问题,xcode本身自带记忆功能,可能你已经修改,或者删除,但是xcode无法识别,继续用默认的,所以出上面方法以外,可以重新建立xib 并且给予不同view名字。
原因三:
这种情况确实难以察觉,即使是清理了工程缓存或者是重新创建了xib文件,更新了xib的名字,但运行的时候,还是一样会崩溃。此时我的解决办法是:在用到这个xib文件的controller中,返回这个controller自身的nib文件的名字(如果这个controller是使用xib创建的)。我的代码如下:
#pragma mark - 返回当前viewController的nibName,避免XCode自动关联类似名称的nib文件导致系统崩溃
- (NSString *) nibName {
return @"ServiceMoreDetailedViewController";
}
相关文章推荐
- JSP中内建exception对象时出现500错误的解决方法
- iOS开发之路--微博“更多”页面
- PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
- iOS开发之路--微博骨架搭建
- 加载带有手势识别器的XIB文件需注意哪些问题
- iOS开发使用JSON解析网络数据
- IOS开发代码分享之获取启动画面图片的string
- iOS开发实现音频播放功能
- iOS开发使用XML解析网络数据
- IOS开发实现录音功能
- IOS开发之路--C语言数组和字符串
- php中error与exception的区别及应用
- IOS开发代码分享之用nstimer实现倒计时功能
- iOS开发使用GDataXML框架解析网络数据
- IOS开发代码分享之设置UISearchBar的背景颜色
- ios推送证书
- Auto Layout on iOS Versions prior to 6.0 解决办法
- 是时候开始引入异常化编程了!
- fix java exception
- iOS和tvOS游戏按需加载资源简介