首页 > 其他 > 详细

关于IBOutlet的生命周期

时间:2014-11-06 19:42:15      阅读:312      评论:0      收藏:0      [点我收藏+]

在调试程序的时候,发现 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:
2014-11-06 17:11:13.216 Photomania[760:60b] awakeFromNib
2014-11-06 17:11:21.891 Photomania[760:60b] IBAction ScrollView
2014-11-06 17:11:21.892 Photomania[760:60b] IBAction Spiner
2014-11-06 17:11:21.895 Photomania[760:60b] ViewDidLoad!

 

关于IBOutlet的生命周期

原文:http://www.cnblogs.com/zuopeng/p/4079401.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!