【发布时间】:2014-07-13 10:09:02
【问题描述】:
现在 Swift 的数组是真正不可变的,这要归功于全值语义,我如何创建不可变数组的可变副本?类似于 Obj-C mutableCopy()。我当然可以将数组向下转换为 NSArray 并使用 mutableCopy() 但不想使用 NSArray 因为它没有严格键入。
我有一个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
【问题讨论】: