2
假設我有5 SKLabelNode
s。每個都以增量方式命名。 myLabel0
,myLabel1
等...他們全部加入到SKScene
。如何設置和獲取帶有字符串的標籤。例如:如何在Swift中通過字符串訪問類屬性?
for i in 0..5 {
self["mylabel\(i)"].text = "Label \(i)"
}
我知道在其他語言中,您可以做類似於此的事情。
假設我有5 SKLabelNode
s。每個都以增量方式命名。 myLabel0
,myLabel1
等...他們全部加入到SKScene
。如何設置和獲取帶有字符串的標籤。例如:如何在Swift中通過字符串訪問類屬性?
for i in 0..5 {
self["mylabel\(i)"].text = "Label \(i)"
}
我知道在其他語言中,您可以做類似於此的事情。
的SKScene
是SKNode
一個子類和節點形成通過父/子關係的樹。換句話說,你的問題是'我如何使用字符串索引使用下標符號來訪問SKNode的子節點'。
這樣
extension SKNode {
subscript (name: String) -> SKNode? {
return self.childNodeWithName (name)
}
}
如果name
不是self
一個孩子,那麼也許你會想遞歸的孩子。
可能重複[Swift支持反射?](http://stackoverflow.com/questions/24060667/does-swift-support-reflection) – Sulthan
你不能。改用數組。有語言支持反思,但它從來不是做事的首選方式。 – Sulthan
downvote的解釋?這個問題沒有顯示任何研究工作嗎?不清楚嗎?這沒有用?我從來沒有聽說過反思。 – Johnston