2014-06-26 146 views
2

假設我有5 SKLabelNode s。每個都以增量方式命名。 myLabel0,myLabel1等...他們全部加入到SKScene。如何設置和獲取帶有字符串的標籤。例如:如何在Swift中通過字符串訪問類屬性?

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

我知道在其他語言中,您可以做類似於此的事情。

+0

可能重複[Swift支持反射?](http://stackoverflow.com/questions/24060667/does-swift-support-reflection) – Sulthan

+0

你不能。改用數組。有語言支持反思,但它從來不是做事的首選方式。 – Sulthan

+1

downvote的解釋?這個問題沒有顯示任何研究工作嗎?不清楚嗎?這沒有用?我從來沒有聽說過反思。 – Johnston

回答

1

SKSceneSKNode一個子類和節點形成通過父/子關係的樹。換句話說,你的問題是'我如何使用字符串索引使用下標符號來訪問SKNode的子節點'。

這樣

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

如果name不是self一個孩子,那麼也許你會想遞歸的孩子。

相關問題