• iOS开发学习笔记(OC语言)——UIView和UIViewController生命周期


    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
    
    

    通过断点调试,可以发现生命周期是:

    1. init
    2. willMoveToSuperview
    3. didMoveToSuperview
    4. willMoveToWindow
    5. 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
    
    

    通过断点调试,可以发现生命周期是:

    1. init
    2. viewDidLoad
    3. viewDidAppear

    如果移除,顺序是:

    1. viewWillDisappear
    2. viewDidDisappear
  • 相关阅读:
    文本溢出
    不需要原稿,直接在jpg文件中修改文字
    Photoshop的常用技巧
    canvas拼接背景图和qrcode生成的二维码,实现二维码分享功能。
    OC从文件或者URL获取字符串,以及写入文件
    OC学习将C语言字符串转换为OC字符串
    OC字符串NSString常用操作系列01
    三目运算符-----IOS开发学习记录第10天之C语言学习
    逗号表达式-----IOS开发学习记录第6天之C语言学习
    IOS开发学习记录第5天之C语言学习
  • 原文地址:https://www.cnblogs.com/lurenjiashuo/p/15851950.html
Copyright © 2020-2023  润新知