iOS知识点-18. 试比较Swift和Objective-C中的初始化方法(init)有什么异同?

Swift vs. Objective-C
  1. 试比较Swift和Objective-C中的初始化方法(init)有什么异同?

一言以蔽之,Swift中的初始化方法更加严格和准确。

  • Objective-C中,初始化方法无法保证所有成员变量都完成初始化;编译器对属性设置并无警告,但是实际操作中会出现初始化不完全问题;初始化方法与普通方法并无实际差别,可以多次调用。

  • Swift中,初始化方法必须保证所有optional的成员变量都完成初始化。同时新增convenience和required两个修饰初始化方法的关键词。convenience只是提供一种方便的初始化方法,必须通过调用同一个类中designated初始化方法来完成。required是强调子类重写父类中所修饰的初始化方法。

上一题 目录 下一题

你可能感兴趣的:(iOS知识点-18. 试比较Swift和Objective-C中的初始化方法(init)有什么异同?)