同时初始化和绑定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有没有办法结合这两个操作?

您可以将代码移到 resumedidSet 内。

var resume: Entity? {
    didSet {
        if let resume = self.resume {
            EntityManager.add(resume)
        }
    }
}