我通过声明以下节点来开始一个程序:
private var sceneLabel = NKLabelNode()
当我稍后想要为此节点提供属性时,将某些内容编码为self.sceneLabel.text = "Hello World"
和sceneLabel.text = "Hello World"
之间有什么区别?
答案 0 :(得分:0)
关键字self
表示以下属性(在您的情况下为sceneLabel
)是当前类的一部分。但是,可以推断出self
关键字不是必需的。您需要在闭包中使用self
关键字,因为编译器需要知道变量是否在当前类中。
最近,在类中获取/设置属性所需的self
关键字可能会被添加,而不是像现在这样推断,这种关键字被拒绝了。请在此处查看:Require self for accessing instance members