swift中的便捷初始化器(便利构造器)
程序员文章站
2022-04-11 18:55:13
...
swift中的便捷初始化器
1. 开发环境说明
系统版本:macOS Catalina 10.15.4
Xcode版本: Version 11.4.1 (11E503a)
swift版本: Apple Swift version 5.2.2 (swiftlang-1103.0.32.6 clang-1103.0.32.51).
2. 什么是便捷初始化器
swift中,同一个类的不同init方法是不能直接使用self.init()平行调用的。
必须用关键字convenience修饰的init方法后,才可以使用 self.init(…)
convenience修饰的init方法就叫便捷初始化器.
3. 错误使用的场景
将会收到如下的错误信息。
4. 正确的使用方式
class test {
var a:String = "aaa"
var b:Int?
init(a:String,b:Int) {
self.a = a
self.b = b
}
}
class test1: test{
var c:String?
init(c:String) {
super.init(a: "", b: 0)
self.c = c
}
convenience init() {
self.init(c:"")
}
}
上一篇: JAVA面试题