我开始自学,我现在正在浏览游戏的例子。我遇到了一系列我认为特殊的代码
scene.scaleMode = .ResizeFill
在我习惯的语言中(C / Java)“。” notation用于引用某种结构/对象,但我不确定这行代码是什么,因为在“。”之前没有明确指定的对象。
有关澄清此非指定“。”的信息。参考,或何时/如何使用,将是伟大的
P.S。我在Xcode中使用精灵套件
答案 0 :(得分:1)
在Swift中,就像你提到的其他语言一样,'。'是会员访问运营商。您所指的语法是Swift允许的一种简写,因为它是一种类型安全的语言。
编译器识别出您指定的属性是SKSceneScaleMode
类型,因此您分配的值必须是该类型的枚举值之一 - 因此可以省略枚举名称。
答案 1 :(得分:0)
要添加到PaulW11的答案,这里发生的事情只是枚举的有效语法,并且不适用于任何其他类型(类,结构,方法,函数)。 Swift知道类型您指定的属性是类型为SKSceneScaleMode
的枚举,因此您可以引用枚举成员而无需显式给出枚举的类型(即SKSceneScaleMode.ResizeFill
)。
在某些情况下会出现歧义,您必须提供全名,这将取决于上下文。例如,您可以在范围中使用两种不同的枚举类型,它们都具有匹配的成员名称。
修改强>
在我错误地指定此答案时更新此答案仅适用于枚举,但事实并非如此。这里有一篇很好的博客文章,更详细地解释了