awakeFromNib与viewDidLoad的区别】的更多相关文章

当一个nib文件对应两个类,File's Owner的class为XXXViewController,Objects下的View对应的为XXXView时: awakeFromNib:在XXXView.m文件中有效,即只有写在这个类文件中才会调用,写在XXXViewController.m文件中时,不会被调用. viewDidLoad:写于XXXViewController.m文件中,作用同awakeFromNib.   当.nib文件被加载的时候,会发送一个awakeFromNib的消息到.ni…
当.nib文件被加载的时候,会发送一个awakeFromNib的消息到.nib文件中的每个对象,每个对象都可以定义自己的awakeFromNib函数来响应这个消息,执行一些必要的操作. 也就是说只有通过.nib文件创建view对象时才会执行awakeFromNib . 一般的,当IB加载的时候,我们会通过调用自定义对象的awakeFromNib函数,来对界面进行补充. 选择的时机:当你需要写一个UIView的子类并且想在load nib的时候做一些初始化工作的时候很有用.bundle在load…
当你访问一个ViewController的view属性时,如果此时view的值是nil,那么,ViewController就会自动调用loadView这个方法.这个方法就会加载或者创建一个view对象,赋值给view属性.loadView默认做的事情是:如果此ViewController存在一个对应的nib文件,那么就加载这个nib.否则,就创建一个UIView对象.如果你用Interface Builder来创建界面,那么不应该重载这个方法.如果你想自己创建view对象,那么可以重载这个方法.…
loadView/viewDidLoad/initWithNibName/awakeFromNib/initWithCoder的用法总结   首先,区别程序化初始viewcontroller,半程序化初始和IB初始的区别. 1. 代码化初始:完全没有Xib之类的东西,通过纯代码实现加载. 2. 半代码化:设计xib,然后在程序中用代码调用xib来初始化. 3. 完全IB化:设计xib之类,然后加入到其它xib里.如MainWindow.xib中加入rootviewController,而root…
http://www.1000phone.net/forum.php?mod=viewthread&tid=10507&extra=page%3D1%26filter%3Dauthor%26orderby%3Ddateline%26orderby%3Ddateline iPhone开发必不可少的要用到这两个方法. 他们都可以用来在视图载入的时候,初始化一些内容. 但是他们有什么区别呢? viewDidLoad 此方法只有当view从nib文件初始化的时候才被调用.viewDidLoad用于…
从打印结果可以看出,先调用loadView再调用viewDidload 代码: // // ViewController.m // test // // Created by 裴波波 on 16/4/12. // Copyright © 2016年 裴波波. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController…
李洪强iOS经典面试题140-UI   UI viewcontroller的一些方法的说明viewDidLoad,viewWillDisappear, viewWillAppear方法的 顺序和作用? viewWillAppear:视图即将可见时调用.默认情况下不执行任何操作 viewDidAppear:视图已完全过渡到屏幕上时调用 viewWillDisappear:视图被驳回时调用,覆盖或以其他方式隐藏.默认情况下不执行任何操作 viewDidDisappear:视图被驳回后调用,覆盖或以其…
序言: loadView.viewDidLoad.viewDidAppear.initWithNibName.awakeFromNib等经常出现在UIViewController中的方法介绍. 这些方法分别用来作哪些工作,换言之,创建自定义的View时代码放到以上哪个方法中. 一个UIView的生命周期是怎样的.以上几个方法的调用顺序如何. 通过IB和代码加载视图,有什么区别 文章主要参考官方和文档和StackOVerFlow有关问题整理得出,由于水平有限,如有错误之处请及时与我联系. UIVi…
说明:此文是自己的总结笔记,主要参考: iOS程序的启动执行顺序 AppDelegate 及 UIViewController 的生命周期 UIView的生命周期 言叶之庭.jpeg 一. iOS程序的启动执行顺序 程序启动顺序图 iOS启动原理图.png 具体执行流程 程序入口进入main函数,设置AppDelegate称为函数的代理 程序完成加载[AppDelegate application:didFinishLaunchingWithOptions:] 创建window窗口 程序被激活[…
一. UIViewController 的 生命周期 代码 示例 #pragma mark --- life circle // 非storyBoard(xib或非xib)都走这个方法 - (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { NSLog(@"%s", __FUNCTION__); if (self = [super initWithNibNa…