既然Swift的數組真的是不變的,這要歸功於完整的值語義,我該如何創建一個不可變數組的可變副本?類似於Obj-C mutableCopy()
。我當然可以將數組向下壓縮到一個NSArray並使用mutableCopy()
,但不想使用NSArray,因爲它沒有嚴格鍵入。如何在swift中創建一個不可變數組的可變副本?
我有一個toolbar
其中故事板中有items
。我想從工具欄中刪除一個項目並使用toolbar.setItems
。我想這樣做,而不是作爲NSArray
投射,因爲這些功能都不需要NSArrays
,它們需要[AnyObject]
。
顯然現在當我打電話removeAtIndex()
它不起作用,這是正確的。我只是需要一個mutableCopy
簡單地分配給VAR我不工作,並給「Immutable value of type [AnyObject]
」
var toolbarItems = self.toolbar.items
toolbarItems.removeAtIndex(2) //Immutable value of type [AnyObject]
我使用Beta 3的
這幾乎是我在我的回答中所說的,但是對引擎蓋下的內容進行了簡要的解釋 - 因此您應該得到我的讚賞 – Antonio