如何在Swift中通过字符串访问类属性?

时间:2014-06-26 14:01:34

标签: swift

假设我有5 SKLabelNode秒。每个都以递增方式命名。 myLabel0myLabel1等等......这些都已添加到SKScene。如何设置和获取带有字符串的标签。类似的东西:

for i in 0..5 {
 self["mylabel\(i)"].text = "Label \(i)"
}

我知道在其他语言中你可以做类似的事情。

1 个答案:

答案 0 :(得分:1)

SKSceneSKNode的子类,节点通过父/子关系形成树。换句话说,你的问题是如何使用带有字符串索引的下标符号来访问SKNode的子节点。

就这样

extension SKNode {
  subscript (name: String) -> SKNode? {
    return self.childNodeWithName (name)
  }
}

如果name不是self的孩子,那么您可能想要对孩子们进行递归。