先说下我遇到这个崩溃问题的原因:

自定义的Viewxib和系统的 View重名,导致崩溃

我的理解是我这里加载YJLoginViewController 的时候,YJLoginViewController系统自带的 view 和我自定义的YJLoginView命名重复,OC 是不支持命名重载的,Controller在加载的时候加载了自定义的 View的 xib 文件,去掉 xib文件是可以加载的,回想下 UIViewController 的生命周期 alloc 创建对象,分配空间 -->init (initWithNibName) 初始化对象,初始化数据 -->loadView 从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图 -->viewDidLoad  载入完成,可以进行自定义数据以及动态创建其他控件 -->viewWillAppea 视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了 -->viewDidAppear视图已在屏幕上渲染完成

我想重点在于:loadView

每次访问UIViewController的view(比如controller.view、self.view)而且view为nil,loadView方法就会被调用。

[super loadView]里面它会先去查找与UIViewController相关联的xib文件,通过加载xib文件来创建UIViewController的view
如果在初始化UIViewController指定了xib文件名,就会根据传入的xib文件名加载对应的xib文件,如果没有找到相关联的xib文件,就会创建一个空白的UIView,然后赋值给UIViewController的view属性,



'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "XXXView" nib but the view outlet was not set.' 崩溃问题的更多相关文章

  1. 问题:-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "BlueView" nib but the view outlet was not set.

    问题:-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "BlueView" nib but the vie ...

  2. '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "AttentionController" nib but the view outlet was not set.'

    问题出现原因: 先创建控制器的.h与.m文件,后来创建了相应的xib文件,运行后出现这个问题. 解决办法:

  3. loaded the "XXXView" nib but the view outlet was not set 解决方案

    '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "XXXView" nib but the view o ...

  4. NSInternalInconsistencyException: loaded the "XXXView" nib but the view outlet was not set

    运行过程中App崩溃,报错如标题. 原因: viewController的view没有绑定xib的view. 解决方法: 在File's Owner中将view与viewController的view ...

  5. loaded the "ViewController" nib but the view outlet was not set.'

    错误代码: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[U ...

  6. -[UIViewController _loadViewFromNibNamed:bundle:]

    *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewC ...

  7. loaded some nib but the view outlet was not set

    链接地址:http://www.cnblogs.com/TivonStone/archive/2012/04/20/2460116.html 当使用 initWithNibName 函数, 并使用 由 ...

  8. loaded some nib but the view outlet was not set(转载)

    当使用 initWithNibName 函数, 并使用 由nib文件生成的ViewController 的view属性时候,遇到这个问题. //load loc.xib UIViewControlle ...

  9. 从一个控制器调到另一个控制器的[UIViewController _loadViewFromNibNamed:bundle:]崩溃

    一,现象和分析: 1.崩溃的主要地方是[UIViewController _loadViewFromNibNamed:bundle:] ,是从 A 控制器 push 到 B 控制器后, B 控制器的v ...

随机推荐

  1. kvm ip查看

    1.virsh --list(查看有哪些服务器) 2.virsh dumpxml 虚拟机名称 查看服务器对应的mac地址 3.然后再宿主机上arp -a 查看对应的mac地址对应的ip

  2. Flask17 Flask_Script插件的使用

    1 什么是Flask_Script 可以对flask应用做一些统一的操作 flask_script官网:点击前往 2 安装flask_script pip install -i https://pyp ...

  3. 《精通Spring4.X企业应用开发实战》读后感第六章(属性编辑器)

  4. Java基础——java中String、StringBuffer、StringBuilder的区别

    (转自:http://www.cnblogs.com/xudong-bupt/p/3961159.html) java中String.StringBuffer.StringBuilder是编程中经常使 ...

  5. codeforces 367B

    题目代码到是不难但是很难想通题目的解决方法. #include<iostream> using namespace std; ]; int main() { int n,m; while( ...

  6. 【MYSQL】删除数据后自动增长列归0的问题

    在清空数据表后发现自动增长id列在新增数据后仍然会按照之前的顺序生成 强迫症,就是想清空数据后让id从0开始,于是百度 执行以下sql语句可以让自动增长列归0 truncate table 表名 这是 ...

  7. Leetcode 第136场周赛解题报告

    周日的比赛的时候正在外面办事,没有参加.赛后看了下题目,几道题除了表面要考的内容,还是有些能发散扩展的地方. 做题目不是最终目的,通过做题发现知识盲区,去研究学习,才能不断提高. 理论和实际是有关系的 ...

  8. 复制或合并map

    1.map之间实现复制或合并 { // Map 能像数组一样被复制: let original = new Map([ [1, 'tom'] ]); let clone = new Map(origi ...

  9. 2017-11-8 NOIP模拟赛

    1.足球联赛 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm ...

  10. windows severs 2008r2 180天激活

    无需破解:Windows Server 2008 R2 至少免费使用 900天 1.首先安装后,有一个180天的试用期. 2.在180天试用期即将结束时,使用下面的评估序列号激活Svr 2008 R2 ...