首页 > 代码库 > 关于IBOutlet的生命周期
关于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:2014-11-06 17:11:13.216 Photomania[760:60b] awakeFromNib2014-11-06 17:11:21.891 Photomania[760:60b] IBAction ScrollView2014-11-06 17:11:21.892 Photomania[760:60b] IBAction Spiner2014-11-06 17:11:21.895 Photomania[760:60b] ViewDidLoad!
关于IBOutlet的生命周期
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。