首页 > 其他 > 详细

Objective-C学习笔记-init

时间:2018-10-12 00:53:28      阅读:172      评论:0      收藏:0      [点我收藏+]

1.如果一个类没有实现init方法,那么在调用init初始化的时候所有成员变量都会被初始化为0

2.覆盖NSObject的init方法,instancetype代表返回当前类的实例,在旧版本OC里,还会使用id作为返回类型。因为基类的构造函数有可能返回nil,所以这里需要判断是否为空,这是苹果公司推荐写法,不过很多代码没有做这一步检查

-(instancetype)init
{
    self=[super init]
    if (self){
        //初始化操作
    }
    return self;
}

3.你也可以创建带有参数的构造函数,和Java不同,当你创建一个构造函数的时候,默认的构造函数依然存在

-(instancetype)initWithName:(NSString *)name
{
    self=[super init];
    if (self){
        //初始化操作
        self.name=name;
        
    }
    return self;
}

4.子类自定义了一个构造函数,但是使用的时候有可能不小心调用到基类的构造函数,这样会导致子类的部分成员变量没有被初始化,为了防止这种情况,需要重写基类的构造函数

Objective-C学习笔记-init

原文:https://www.cnblogs.com/Potato-Eater/p/9775843.html

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