美文网首页
OC 创建对象和 Swift 创建对象的区别

OC 创建对象和 Swift 创建对象的区别

作者: 赵邦华 | 来源:发表于2020-10-27 23:23 被阅读0次

    Objective-C创建对象的方法和 Swift 天差地别,Swift 创建对象的步骤可以简要总结为:

    1. 自底向上(从子类到父类),初始化所有的储存属性。

    2. 第一点结束后,才能使用属性和方法。

    想要了解更多关于Swift初始化对象的知识,可以看我之前的这篇文章

    而 OC 创建对象的特点是:

    1. 不需要给属性设定默认值, Objective-C 会自动把对象设定为 nil,数字设定为 0。

    2. 初始化自己的属性之前,必须要调用父类的 init 方法。

    3. 初始化完自己的属性之前,你可以在你的初始化器里调用其他的方法。

    4. 所有的初始化器都默认是失败的(返回 nil),在继续之前下一次的操作之前,你必须要先去确认初始化是否成功。

    5. 初始化的返回值是 self

      下面解释一下OC创建对象的特点:

      因为第二和第三点是基于第一点成立的,因为 Objective-C 会自动的给所有属性赋值,所以在初始化完成之前,你可以调用别的方法,包括了父类的 init。

    因为第四和第五点,一般使用如下的初始化方法:

    - (instancetype) init {
        if (self = [super init]) {
            // 初始化自己的属性,调用其他方法
        }
        return self;
    }
    

    相关文章

      网友评论

          本文标题:OC 创建对象和 Swift 创建对象的区别

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