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

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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容