什么是构造方法?

答: 在OC中init开头的方法, 我们称之为构造方法

 

 

问题2:构造方法的用途?

答:

构造方法的用途: 用于初始化一个对象, 让某个对象一创建出来就拥有某些属性和值

 

 

问题3:如何实现构造方法?

答:

重写init方法, 在init方法中初始化成员变量

 

 

 

 

问题4:如何重写init方法?

答:

重写init方法必须按照苹果规定的格式重写, 如果不按照规定会引发一些未知的错误

1 必须先初始化父类, 再初始化子类

2 必须判断父类是否初始化成功, 只有父类初始化成功才能继续初始化子类

3 返回当前对象的地址

 

 

 

- (instancetype)init

{

    // 1.初始化父类

    // 只要父类初始化成功 , 就会返回对应的地址, 如果初始化失败, 就会返回nil

    // nil == 0 == 假 == 没有初始化成功

    self = [super init];

    // 2.判断父类是否初始化成功

    if (self != nil) {

        // 3.初始化子类

        // 设置属性的值

        _age = 6;

    }

    // 4.返回地址

    return self;

}

- (instancetype)init

{

    // 1.初始化父类

    // 2.判断父类是否初始化成功

    if (self = [super init]) {

 

        // 3.初始化子类

        _age = 6;

    }

    // 4.返回地址

    return self;

}