欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

swift中的便捷初始化器(便利构造器)

程序员文章站 2022-04-11 18:55:13
...

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. 错误使用的场景

将会收到如下的错误信息。
swift中的便捷初始化器(便利构造器)

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:"")
    }
}
相关标签: swift