关于IBOutlet的生命周期
在调试程序的时候,发现 IBOutlet的对象在执行 getter时,开始一直想找IBOutlet对象getter方法前被执行的代码,但是一直找不到,于是我就想是不是系统自动给IBOutlet 自动初始化了,于是做了一个实验,得出一个结论IBOutlet对象getter方法 会在awakeNib之后但在viewDidload后进行初始化。
当上一个视图 Segue 传递过来的一个变量,那么是先执行 -(void) awakeFromNib 然后在执行变量的setter方法
- (void)viewDidLoad
{
NSLog(@"ViewDidLoad!");
[super viewDidLoad];
[self.scrollView addSubview:self.imageView];
} - (void) awakeFromNib{
NSLog(@"awakeFromNib");
self.splitViewController.delegate = self;
} -(void)setSpinner:(UIActivityIndicatorView *)spinner{
NSLog(@"IBAction Spiner");
} - (void)setScrollView:(UIScrollView *)scrollView
{
NSLog(@"IBAction ScrollView");
_scrollView = scrollView; // next three lines are necessary for zooming
_scrollView.minimumZoomScale = 0.2;
_scrollView.maximumZoomScale = 2.0;
_scrollView.delegate = self; // next line is necessary in case self.image gets set before self.scrollView does
// for example, prepareForSegue:sender: is called before outlet-setting phase
self.scrollView.contentSize = self.image ? self.image.size : CGSizeZero;
} //output:
-- ::13.216 Photomania[:60b] awakeFromNib
-- ::21.891 Photomania[:60b] IBAction ScrollView
-- ::21.892 Photomania[:60b] IBAction Spiner
-- ::21.895 Photomania[:60b] ViewDidLoad!
关于IBOutlet的生命周期的更多相关文章
- ViewController的生命周期分析和使用
iOS的SDK中提供很多原生ViewController,大大提高了我们的开发效率,下面是我的一些经验. 一.结构 按结构可以对iOS的所有ViewController分成两类:1.主要用于展示内容的 ...
- iOS开发——UI进阶篇(十)导航控制器、微博详情页、控制器的View的生命周期
一.导航控制器出栈 1.initWithRootViewController本质 UIViewController *vc = [[OneViewController alloc] init]; // ...
- iOS学习笔记—ViewController/生命周期
ViewController是iOS应用程序中重要的部分,是应用程序数据和视图之间的重要桥梁,ViewController管理应用中的众多视图.iOS的SDK中提供很多原生ViewController ...
- View和viewController的生命周期
View和viewController的生命周期 一.ViewController的职责 对内管理与之关联的View,对外跟其他ViewController通信和协调.对于与之关联的View,View ...
- iOS view和viewController的生命周期
一.ViewController的职责 对内管理与之关联的View,对外跟其他ViewController通信和协调.对于与之关联的View,ViewController总是在需要的时候才加载视图,并 ...
- OC开发_Storyboard——视图控制生命周期以及NSNotifications
一.生命周期 1.ViewDidLoad: 一般的初始化,除了几何图形的初始化(这个时候还没确定) 2.ViewWillAppear: 代表你的视图将要在屏幕上显示,可能会调用多次,对不可见时可能能改 ...
- IOS学习笔记37——ViewController生命周期详解
在我之前的学习笔记中讨论过ViewController,过了这么久,对它也有了新的认识和体会,ViewController是我们在开发过程中碰到最多的朋友,今天就来好好认识一下它.ViewContro ...
- react组件的生命周期
写在前面: 阅读了多遍文章之后,自己总结了一个.一遍加强记忆,和日后回顾. 一.实例化(初始化) var Button = React.createClass({ getInitialState: f ...
- 浅谈 Fragment 生命周期
版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ...
随机推荐
- The Commercial Open-Source Monitoring Landscape
As enterprises have adopted open-source monitoring tools, there is growing market demand by enterpri ...
- xcode修改横屏
1.修改工程属性 2.修改info.plist文件
- 2016.1.22 利用LINQ实现DataSet内多张DataTable关联查询操作(目前未发现太大价值)
DataSet ds = new DataSet(); DataTable t1 = DBFactorySingleton.GetInstance().Factory.GetDataTable(sql ...
- hibernate Annotation 以及注解版的数据关联
目的是不写xxx.hbm.xml映射文件,使用注解 主配置文件还是要有hibernate.cfg.xml <?xml version="1.0" encoding=" ...
- NodeJs之文件合并(某一文件的内容发生变化与之相关的内容重新合并)
首先,一个文件里面的内容是由多个文件共同组成的.例如一个文件夹包含有多文件(文件夹) 然后,当其中一个发生变化时所用与之有直接作用的文件(文件夹)都会重新组合. /*注意:该例子需要在同级目录下完成及 ...
- css 文件上传按钮美化
转自:http://zixuephp.net/article-85.html 思路:在一个div里面添加一个图片用作按钮再添加一个input file 文件上传,把文件上传按钮设置透明度为0,绝对定位 ...
- [Python Study Notes]气泡散点图绘制
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- LaTex: 表格单元格内容 分行显示/换行
问题:如何同时让表格同一行一个单元格的文字能垂直居中?比如说文字超长超出页面范围需要分行显示 答:(来源于smth) 方案一: \newcommand{\tabincell}[2]{\begin{ta ...
- checked多选,取消,反选
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- re.findall 两个连续匹配成功的输出后一个