同时初始化和绑定swift可选成员?
Initialize and bind swift optional member at the same time?
我的 class 包含如下可选成员属性:
class PauseRenderTarget: RenderTarget {
var background: SKShapeNode? = nil
var resume: Entity?
var restart: Entity?
var reset: Entity?
func createEntities()
}
当我初始化并想使用这些变量时,我最终不得不做这样的事情:
func createEntities() {
self.resume = EntityMaker.MakeResumeEntity()
if let resume = self.resume {
EntityManager.add(resume)
}
}
swift有没有办法结合这两个操作?
您可以将代码移到 resume
的 didSet
内。
var resume: Entity? {
didSet {
if let resume = self.resume {
EntityManager.add(resume)
}
}
}
我的 class 包含如下可选成员属性:
class PauseRenderTarget: RenderTarget {
var background: SKShapeNode? = nil
var resume: Entity?
var restart: Entity?
var reset: Entity?
func createEntities()
}
当我初始化并想使用这些变量时,我最终不得不做这样的事情:
func createEntities() {
self.resume = EntityMaker.MakeResumeEntity()
if let resume = self.resume {
EntityManager.add(resume)
}
}
swift有没有办法结合这两个操作?
您可以将代码移到 resume
的 didSet
内。
var resume: Entity? {
didSet {
if let resume = self.resume {
EntityManager.add(resume)
}
}
}