美文网首页
iOS开发子类初始化时为什么要调用self = [super i

iOS开发子类初始化时为什么要调用self = [super i

作者: MangoJ | 来源:发表于2022-12-07 09:37 被阅读0次
    [self class]、[self superclass]、[super class]分别表示什么意思?
    • [self class]表示当前类、self是指向自己的指针,可以打印出来
    • [self superclass] 表示当前类的父类
    • [super class]:首先super不是指针,只是关键字,不能打印出来;其次这个[super class]表示的是当前对象,而且super可以用来调用父类方法,比如[super init],表示当前类对象调用父类初始化方法。
    因为子类继承自父类,需要获得父类的实例和方法等,所以初始化子类之前要先保证父类已经初始化完毕,防止出错。当调用self = [super init]方法时,如果父类初始化不成功,那么会返回nil,所以可以根据self是否为nil判断父类是否初始化成功,从而进行合理地处理,以便起到容错效果。
    

    相关文章

      网友评论

          本文标题:iOS开发子类初始化时为什么要调用self = [super i

          本文链接:https://www.haomeiwen.com/subject/zilnfdtx.html