gpt4 book ai didi

swift - 更改父类(super class)和子类 SWIFT 中声明的只读变量

转载 作者:行者123 更新时间:2023-11-30 10:19:19 25 4
gpt4 key购买 nike

我是一位老 Objective-C 开发人员,试图在 Swift 中涉足,但我遇到了以下问题:

我们有一个 super 类(class)

class MySuper  {
private(set) var myReadOnlyVar = true
}

然后我有 MySuper 的子类

class Subclass: MySuper {
func myFunc() {
super.myReadOnlyVar = false // error
}
}

我可以在这里采取任何解决方法吗?我知道 swift 没有 protected 访问权限,但它应该有类似的东西。

最佳答案

您需要将Subclass实现更改为此

class SubClass: MySuper {
func myFunc() {
super.setValue(false, forKey: "myReadOnlyVar")
}
}

关于swift - 更改父类(super class)和子类 SWIFT 中声明的只读变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28138754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com