2014-11-03 59 views
1

我有一個名爲removeRedCirclesArray的可變數組。數組中的每個對象都是具有name屬性的SKShapeNode。我只想運行數組中的每個對象,並將對象的名稱屬性更改爲「bigRedCircle」。下面的代碼是我認爲它會工作,但它創建此Xcode錯誤:「@lvalue $ T7是不相同的字符串!」如何更改我的可變數組中的對象的名稱屬性?

for var x = 0; x <= removeRedCirclesArray.count - 1; x++ { 
     removeRedCirclesArray[x].name = "bigRedCircle" 
     } 

什麼是完成這個看似簡單的任務的正確方法?

回答

0

我想通了。爲了訪問名稱屬性,我必須通過執行以下操作來告訴xCode數組中的對象是什麼類型:

(removeRedCirclesArray.objectAtIndex(x) as SKShapeNode).name = bigRedCircle 
0

SKNode.name是一個字符串可選 var name:String?

您是否試圖訪問該值而不將其展開到其他地方?它似乎不在此代碼中。

https://developer.apple.com/Library/ios/documentation/SpriteKit/Reference/SKNode_Ref/index.html#//apple_ref/occ/instp/SKNode/name

+0

我該如何解開它? – 2014-11-04 00:50:34

+0

@Alan_s有訣竅!你沒有提到數組是一個NSArray而不是Swift數組:)很高興你知道了。 – tmichaelrogers 2014-11-04 21:33:28