同时初始化和绑定swift可选成员?
Posted
技术标签:
【中文标题】同时初始化和绑定swift可选成员?【英文标题】:Initialize and bind swift optional member at the same time? 【发布时间】: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
里面有第二段代码吗?
是的。我会说得更清楚。
【参考方案1】:
您可以将代码移动到resume
的didSet
内。
var resume: Entity?
didSet
if let resume = self.resume
EntityManager.add(resume)
【讨论】:
以上是关于同时初始化和绑定swift可选成员?的主要内容,如果未能解决你的问题,请参考以下文章
条件绑定的初始化程序必须具有可选类型,而不是“字符串” - ios - swift
条件绑定的初始化程序必须具有可选类型,而不是 swift 3 中的“字符串”
条件绑定的初始化程序必须具有可选类型,而不是“Substring.SubSequence”(又名“Substring”) - swift [重复]