iOS开发之UIViewController

iOS开发中,UIViewController几乎与我们形影不离,但对于他的一些理解,我们需要进一步加强,下面就一些常用的函数解释一下:

1、-(void)loadView:你永远不能直接调用这个函数。只有view属性被请求但它却是nil的时候,这个函数才会被调用,这个函数用于加载或者创建view并把它赋给view属性。controller会有一个相关的nib文件,loadview方法就会从nib文件中加载视图,而如果nibName返回的不是nil(包活用storyboard,或者你显示的调用 initWithNibName:bundle:方法,再或者ios系统在资源库中找到一个基于该控制器类名的nib文件),如果控制器没有相关的nib文件,那么控制器就会调用loadview方法来创建一个palin view来代替,总之,如果你是用interface builder来创建视图和初始化,那么你一定不能再重载这个方法就是当你决定手动使用代码来初始化一个viewcontroller的时候,你应该重载loadview方法来创建一个root view,并把它赋给controller的view属性,并且你创建的这个root view一定不能被几个viewcontroller同时共用,如果你手动创建的controller,你不能调用[super loadview],除此之外,如果你想做其他的初始化工作,你可以在viewdidload中进行,那么,你就应该重载viewdidunload,再viewdidunload中释放掉对view或者其中内容的引用。

2、-(void)viewDidLoad:这个方法会在控制器加载它的视图到内存中之后调用,不管你是使用nib文件还是手动创建的,这个方法都会被调用,你可以在这个函数中对从nib加载的view做一些额外的初始化工作。

3、-(void)viewDidUnload:当控制器的视图从内存中release的时候,这个方法就会被调用。当内存吃紧且当前控制器的视图当前并没有显示的时候,这个方法会被调用。当控制器的视图保存着对这个视图以及其子视图的引用是,你应该在此时release掉他们,你也可以释放掉对别的用于支持当前view的任何对象的引用既然视图都已经被释放掉了,你不应该使用这个方法去释放用户数据或者其他的不能轻易被再次创建的用户数据。当这个方法被调用的时候,控制器的view属性是nil。

4、-(void)viewWillAppear:这个方法用于通知控制器它的视图将要被加入到一个视图层次中。这个方法会在视图将要被加入到视图层次中和在任何被配置到这个视图的动画显示之前。你可以做一些与显示这个视图有关的工作,比如给这个视图添加动画,或者调整朝向之类的,如果你重载了这个方法,某些时候你必须调用[super viewwillappear:]方法。注意:如果这个控制器在出现的时候实在popover中显示出来的,当之前的控制器消失的时候,这个函数并不会被调用。

5、-(void)viewDidAppear:这个方法用于通知控制器它的视图已经被加入到一个视图层次中。其他的与上面类似。

6、-(void)viewWillDisappear:这个方法用于通知控制器它的视图将要从一个视图层次中移出,其他的与上面类似。

7、-(void)viewDidDIsappear:这个方法用于通知控制器它的视图已经从一个视图层次中移出。其他的与上面类似。

8、-(void)didReceiveMemoryWarning:这个方法会在程序受到内存警告的时候调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值