【问题标题】:Why can't I call subscript on SKScene?为什么我不能在 SKScene 上调用下标?
【发布时间】:2017-10-14 22:07:14
【问题描述】:

Apple 文档说subscript(_:) 是 SKNode 的一种方法。

https://developer.apple.com/reference/spritekit/sknode/1483070-subscript

文档还说SKNode继承自SKEffectNode,而SKEffectNode继承自SKNode。我的初学者对此的理解是,SKScene 应该具有与 SKNode 实例相同的所有可用方法。

但是,在我的 SKScene 的 GameScene 子类中,代码提示不会显示下标方法。如果我尝试使用以下方法,则会出现错误。

self.subscript("sensor")

谁能解释为什么这种方法似乎不可用?我在网上的研究都没有找到任何解释。

【问题讨论】:

    标签: swift swift3 sprite-kit skspritenode sknode


    【解决方案1】:

    subscript 不是SKNode 的方法。 (请注意,您链接的文档不是func subscript。)

    SKNode 有一个下标运算符

    let sensorNodes: [SKNode] = self["sensor"]
    

    【讨论】:

    • 啊,我明白了。我仍然习惯于阅读 Apple 的文档。一般来说,编程也是新手,我想我还没有涵盖运算符。那么您提供的示例是使用下标运算符的正确方法吗?
    • SKNode(或SKScene)的情况下是正确的方式。
    • 感谢您的澄清。我在 SKNode 文档的概述部分(在“搜索节点树”下)注意到它将下标称为方法:“下标(_:) 方法返回与特定名称匹配的节点数组。”但我想这一定是一个错字。
    • 如果您想了解更多信息,请参阅 Swift 中的下标 in the Swift Programming Language (Swift 3.1) book
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-17
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多