gpt4 book ai didi

swift - 结构内部协议(protocol)

转载 作者:行者123 更新时间:2023-11-28 12:29:04 27 4
gpt4 key购买 nike

我有一个协议(protocol),它有一个结构作为属性:

struct Dimensions {
var width: CGFloat
var height: CGFloat
}

Protocol ShapeType {
var dimensions: Dimensions {get set}
}

现在我有一个类是 SKShapeNode 的子类:

class Shapes: SKShapeNode, ShapeType {
var dimensions: Dimensions

override init { // Error
super.init()

dimensions = Dimensions(width: 40, height: 40)
}
}

我收到这个错误:

Property 'self.dimensions' not initialized at super.init call

在类中初始化结构体的正确方法是什么?

最佳答案

在调用 Shapes 类初始化器中的 super.init() 方法之前,您必须先初始化 self.dimensions

init(dimensions: Dimensions) {
self.dimensions = dimensions
super.init()
}

关于swift - 结构内部协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42570169/

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