方便初始化与自我初始化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了方便初始化与自我初始化相关的知识,希望对你有一定的参考价值。
为什么要使用便捷init而不是仅仅为类属性设置默认值?
答案
便捷初始化程序可用于与默认值无关的各种事物。他们可以提供数据转换或许多其他功能。在此示例中,便捷初始化程序允许您将Float传递给需要Int的内容。
import Foundation
class X {
let value: Int
init(value: Int) {
self.value = value
}
convenience init(rounding float: Float) {
self.init(value: Int(round(float)))
}
}
当然,这也可以写为指定的(非便利)初始化程序,但是委托给少量指定的初始化程序使得子类化更简单并且可以减少代码重复(因此“方便”)。
另一答案
您并不总是为类属性提供默认值,有时您创建一个具有属性和方法的类,以及稍后在创建该类的实例时可能获得的属性的所有值。为此,使用了init。
以上是关于方便初始化与自我初始化的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Swift 使用此代码片段为 iOS 应用程序初始化 SDK?