我正在尝试学习 Swift 中继承的概念,并提出了以下代码。我在子类中修改变量“numberOfWheels”没有问题,但是当我试图在子类中修改变量“description”时,Xcode 显示错误:
cannot assign to property "description" is a get only property
因为我对 Swift 比较陌生,所以无法解决这个问题?有人可以给我提供一个如何解决这个问题的代码示例吗?非常感谢您的帮助!
class Vehicle{
var numberOfWheels = 0
var description: String{
return "\(numberOfWheels) wheels"
}
}
class Bicycle: Vehicle {
override init(){
super.init()
numberOfWheels = 2
description = "\(numberOfWheels) wheels, more is good"
}
}
最佳答案
description
是只读计算属性,因此不能直接赋值。它通常用于为实现 CustomStringConveritble
的类提供字符串转换以用于打印目的。如果您确实想在子类中重写description
,则应该按如下方式操作:
override var decsription: String {
return "\(numberOfWheels) wheels, more is good"
}
关于ios - 无法更改父类(super class)变量 "description",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36001741/