loadView/viewDidLoad/initWithNibName/awakeFromNib/initWithCoder的用法总结   首先,区别程序化初始viewcontroller,半程序化初始和IB初始的区别. 1. 代码化初始:完全没有Xib之类的东西,通过纯代码实现加载. 2. 半代码化:设计xib,然后在程序中用代码调用xib来初始化. 3. 完全IB化:设计xib之类,然后加入到其它xib里.如MainWindow.xib中加入rootviewController,而root…
init/loadView/viewDidLoad/viewDidUnload 这么细节的东西想来大家都不在意,平时也不会去关系,但是在面试时却常常被提到,所以了解viewController的生命周期还是很有必要的.由init.loadView.viewDidLoad.viewDidUnload.dealloc的关系说起init方法在init方法中实例化必要的对象(遵从LazyLoad思想)‍init方法中初始化ViewController本身 loadView方法当view需要被展示而它却是…
转自: http://leeyin.iteye.com/blog/1040362 每个ios开发者对loadView和viewDidLoad肯定都很熟悉,虽然这两个函数使用上真的是非常简单,但是和类似的initWithNibName/awakeFromNib/initWithCoder放在一起还是非常容易让人混淆的. 昨天看了下苹果官方的相关文档以及几篇相关内容的网页(一 二 三),其实这个内容以前也看过,似乎也搞清楚了,可还是忘了.好急性不如烂笔头,这次一定要好好记下来. 大前提是UIView…
很多朋友如果是初学iOS开发,可能会被其中的几个加载方法给搞得晕头转向的,但是这几个方法又是作为iOS程序员必须要我们掌握的方法,下面我将对这几个方法做一下分析和对比,看看能不能增加大家对几个方法的理解和使用. 一.初始化-加载了什么 //加载带有xib的控制器 -(instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil; //(控制器的View为空的时候调用,帮控制器加载Vi…
一.loadView 永远不要主动调用这个函数.view controller会在view的property被请求并且当前view值为nil时调用这个函数.如果你手动创建view,你应该重载这个函数.如果你用IB创建view并初始化view controller,那就意味着你使用initWithNibName:bundle:方法,这时,你不应该重载loadView函数. 这个方法的默认实现是这样:先寻找有关可用的nib文件的信息,根据这个信息来加载nib文件,如果没有有关nib文件的信息,默认实…
第一.initWithNibName这个方法是在controller的类在IB中创建,但是通过Xcode实例化controller的时候用的. 第二.initWithCoder 是一个类在IB中创建但在xocde中被实例化时被调用的.比如,通过IB创建一个controller的nib文件,然后在xcode中通过 initWithNibName来实例化这个controller,那么这个controller的initWithCoder会被调用.或者是一个view的nib文件,类似方法创建时调用ini…
一  loadView: 在每次访问 UIViewController时,且其 view = nil 时,会调用这个方法,所以大家在开发中想自己设置 view 的可以用这个方法,在这个方法中自定义 view *所以在以下情况记得使用这个方法: 加载 与控制器绑定的 xib 时 [[GLViewController alloc] initWithNibName:@"GLViewController" bundle:nil]; 如果没有传明显的 xib 文件名,就会加载和控制器 同名的 […
1.loadView 这是视图控制器用来加载根视图的方法; 如果需要将自定义的视图作为根视图,则不需要调用父类对该方法的实现([super loadView]);直接将自定义视图通过self.view定义为视图控制器的根视图; 自定义视图中的简单响应事件也应由视图控制器来进行处理,写在此方法内; 2.viewDIdLoad 当视图控制器的根视图加载完成之后触发该方法;(也就是loadView调用完成之后会立即调用该方法); 需要调用父类对该方法的实现; 该方法可以对根视图进行简单的一些设置,比如…
viewDidLoad 此方法只有当view从nib文件初始化的时候才被调用.viewDidLoad用于初始化,加载时用到的. loadView 此方法在控制器的view为nil的时候被调用.虽然经常说loadView是使用代码生成视图的时候,当视图第一次载入的时候调用的方法.用于使用(写)代码来实现控件. 用于使用代码生成控件的函数.但是经过自己实际断点单步操作发现,不管用不用nib,都最先调用loadView,所以说loadView 此方法在控制器的view为nil的时候就会被调用.一般在使…
loadView学习总结 UIViewController类或其子类会在初始化时创建一个UIView对象,会作为控制器的默认视图显示出来,可以通过self.view寻址访问.但没有调用loadView方法时,self.view=nil.loadView在每一次使用self.view这个property,并且self.view为nil的时候被调用,用以产生一个有效的self.view.这个接口原本是为了让我们自定义view用的.你在控制器中实现了loadView方法,那么你可能会在应用运行的某个时…