【问题标题】:Initialize and bind swift optional member at the same time?同时初始化和绑定swift可选成员?
【发布时间】:2018-10-08 14:30:05
【问题描述】:

我的类包含像这样的可选成员属性:

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)
    }
}

有没有办法快速结合这两个操作?

【问题讨论】:

  • 你的PauseRenderTarget里面有第二段代码吗?
  • 是的。我会说得更清楚。

标签: swift optional optional-binding


【解决方案1】:

您可以将代码移动到resumedidSet 内。

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

【讨论】:

    猜你喜欢
    • 2016-02-16
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 2020-08-10
    相关资源
    最近更新 更多