iOS开发学习笔记OC语言UIView和UIViewController生命周期是什么?

摘要:UIView 生命周期 #import "ViewController.h" @interface TestView: UIView @end @implementation TestVi
UIView 生命周期 #import "ViewController.h" @interface TestView: UIView @end @implementation TestView - (instancetype)init{ self = [super init]; if (self) { } return self; } - (void)willMoveToSuperview:(nullable UIView *)newSuperview { [super willMoveToSuperview:newSuperview]; } - (void)didMoveToSuperview { [super didMoveToSuperview]; } - (void)willMoveToWindow:(nullable UIWindow *)newWindow { [super willMoveToWindow:newWindow]; } - (void)didMoveToWindow { [super didMoveToWindow]; } @end @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. TestView *view = [[TestView alloc] init]; view.backgroundColor = [UIColor redColor]; view.frame = CGRectMake(100, 100, 100, 100); [self.view addSubview:view]; } @end 通过断点调试,可以发现生命周期是: init willMoveToSuperview didMoveToSuperview willMoveToWindow didMoveToWindow UIViewController 生命周期 #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (instancetype)init { self = [super init]; if (self) { } return self; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; } - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. UIView *view = [[UIView alloc] init]; view.backgroundColor = [UIColor redColor]; view.frame = CGRectMake(100, 100, 100, 100); [self.view addSubview:view]; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; } - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; } @end 通过断点调试,可以发现生命周期是: init viewDidLoad viewDidAppear 如果移除,顺序是: viewWillDisappear viewDidDisappear