initWithNibName方法

iOS中init一个对象时,会调用对象的init方法,进入init方法时会调用initWithNibName方法,可调试验证

 1 // 以后自定义控制器建议写这个方法,让控制器一创建出来就拥有某些属性
 2 // init方法内部默认会调用initWithNibName方法
 3 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
 4 {
 5     self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
 6     if (self) {
 7
 8     }
 9     return self;
10 }

initWithNibName方法

时间: 2024-10-24 03:28:44

initWithNibName方法的相关文章

initWithNibName导致的初始化问题

众所周知,IB在加载nib的过程中存在着一些undocument行为,有的行为确实是不可理喻的,因此程序员对IB产生了抗拒心理. 今天我们要介绍的是IB导致的一个奇特行为.通过本文的描述, 作者完美地展示了IB给面向对象所带来的破坏作用. 我们有两个View Controller,暂名为superclass和subclass.subclass继承了superclass.在superclass的initWithNibName初始化方法中,我们这样写道: self = [super initWith

viewDidLoad执行早于initWithNibName

刚发现这个问题的时候太都头疼了,没有init怎么viewDidLoad呢?? 后来发现这是因为重载的原因,父类里面同样有initWithNibName方法,这样执行的顺序就是: initWithNibName(父类) ->  viewDidLoad (子类)-> viewDidLoad (父类)-> initWithNibName(子类) 中间的部分是交叉执行的,因为子类会调用[super viewDidLoad], 这样就会执行父类的viewDidLoad函数. 解决方法很简单:如果你

initWithNibName、initWithCoder、awakeFromNib和 loadNibNamed详解

第一.initWithNibName这个方法是在controller的类在IB中创建,但是通过Xcode实例化controller的时候用的. 第二.initWithCoder 是一个类在IB中创建但在xocde中被实例化时被调用的.比如,通过IB创建一个controller的nib文件,然后在xcode中通过 initWithNibName来实例化这个controller,那么这个controller的initWithCoder会被调用.或者是一个view的nib文件,类似方法创建时调用ini

控制器view的加载顺序initWithNibName >>> viewDidLoad >>> viewWillAppear >>> viewDidAppear

-(void)viewWillAppear:(BOOL)animated { self.navigationController.navigationBarHidden=NO;// 邓超界:放在willAppear,不能放在viewDidLoad(因为先执行viewDidLoad,再执行viewWillAppear.还有当控制器没有dealloc,viewDidLoad不会在执行了) } 执行顺序: initWithNibName >>> viewDidLoad >>>

loadView、viewDidLoad、initWithCoder、initWithNibName、awakeFromNib的用法

转载,原地址为:http://jianyu996.blog.163.com/blog/static/11211455520131226840879/ 请尊重原创: 1,无论XIB还是代码创建都会调用loadView方法.self.view为nil时才会被调用. 手工创建视图时,loadView被调用时self.view还为nil.一般在该方法中手工定制view.       XIB创建视图时,loadView仍会被调用.loadView被调用时XIB定制的视图还没创建完成,若是再覆写该方法的话.

initWithNibName与viewDidLoad的执行关系以及顺序

转载自:http://www.java123.net/v/380331.html 一个ViewController,一般通过init或initWithNibName来加载.二者没有什么不同,init最终还是要调用initWithNibName方法(除非这个ViewController没有nib文件). 我们经常在initWithNibName方法中初始化视 一个ViewController,一般通过init或initWithNibName来加载.二者没有什么不同,init最终还是要调用initW

iOS中initWithNibName 和 loadNibNamed 的区别和联系(参考孤独的豆沙包)

// 以后自定义控制器建议写这个方法,让控制器一创建出来就拥有某些属性 // init方法内部默认会调用initWithNibName方法 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { self.hidesBottomBa

关于 initWithNibName 和 loadNibNamed 的区别和联系

关于 initWithNibName 和 loadNibNamed 的区别和联系.之所以要把这两者来一起讲,我觉的我也有点困惑,到底用那种?其实真正搞清楚了他们之间的差别,就不会这么迷惘了.因为这两个方法,根本就不是一路货色. 既然,是要说明这2个方法,那就着重将区别吧. 但是第一步,还是要罗嗦一下,他们的联系:可以使用此方法加载用户界面(xib文件)到我们的代码中,这样,可以通过操作这个加载进来的(xib)对象,来操作xib文件内容. 下面进入主题,谈区别: 1. ShowViewContro

viewDidLoad与initWithNibName的调用时机

加载一个ViewController,我们通常使用init或者initWithNibName方法初始化,但是有的时候会出现一些需要初始化的值没有得到正确的设置,下面给出代码看下实际的效果. 第一种情况:正常初始化 FatherViewController: -(instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [super initWithNibName: