swiftui-example
swiftui-example copied to clipboard
结构 struct 只能从协议继承
结构只能从协议继承(如果正确的话)。 不能从基本结构继承,所以您不能做
struct Resolution {
var width = 0
var height = 0
}
struct MyStruct: Resolution { ... } // ERROR!
因此,有两个选择。 第一种是改用类。 第二个是重构代码以使用协议。
因此,有一些常用方法,则可以执行以下操作:
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