小编Arn*_*ans的帖子

无法使用Swift中的存储属性覆盖

在Swift 4.1中覆盖lazy var的正确方法是什么?以下代码在swift 4.0中正常工作但是由于swift 4.1我在覆盖时有警告,所以我猜它在swift 5中不可用

我曾经:

class A {

    lazy var myVar: String = {
        return "A"
    }()
}

class B: A {

    override lazy var myVar: String = { // WARNING Cannot override with a stored property myVar
        return "B"
    }()
}
Run Code Online (Sandbox Code Playgroud)

我想这是这样的,但它不性感..

class A {

    lazy var myVar: String = {
        return createMyVar()
    }()

    func createMyVar() -> String {
        return "A"
    }
}

class B: A {

    override func createMyVar() -> String {
        return "B"
    }
}
Run Code Online (Sandbox Code Playgroud)

overriding swift

11
推荐指数
1
解决办法
6260
查看次数

标签 统计

overriding ×1

swift ×1