Is there any to inherit struct.
struct Resolution {
var width = 0
var height = 0
}
Blockquote
我想继承上述结构的属性
答案 0 :(得分:0)
struct
只能从协议继承(如果正确的话)。不能从基础struct
继承,因此您不能这样做
struct Resolution {
var width = 0
var height = 0
}
struct MyStruct: Resolution { ... } // ERROR!
因此,您有两个选择。第一种是改为使用class
。第二个是重构代码以使用协议。
因此,如果您有一些常用方法,可以这样做:
protocol PixelContainer
{
var width: Int { get }
var height: Int { get }
}
extension PixelContainer
{
var count: Int { return width * height }
}
struct Resolution: PixelContainer
{
var width = 10
var height = 20
}
let numPixels = Resolution().count // Legal