关于IBOutlet的生命周期
2024-08-27 03:27:15
在调试程序的时候,发现 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!
最新文章
- JNI笔记1
- strtol 函数用法
- td元素
- Windows2003系统问题:“无法加载安装程序库wbemupgd.dll,或是找不到函数OcEntry.
- 【转】javascript弹出固定大小的窗口页面
- POJ 2069 Super Star
- CMD命令查询DNS服务器
- link 标签
- 作业MyCP中无法命令行输入的问题解决
- 【ZJOI2016】线段树
- kerberos简单介绍
- 3D打印GCODE文件学习(一)
- REX:EOS资源租赁平台详解
- Kafka笔记--常用指令(新建、删除topic)
- docker安装后启动出现错误
- tensorflow 笔记11:tf.nn.dropout() 的使用
- C# 将本地文件远程拷贝到其他电脑(转)
- VS2003在解决方案范围内搜索卡死问题的解决
- excel工作表密码破解方法
- Nginx浅析