将NSArray转换为NSMutableArray Swift

时间:2014-09-17 21:22:56

标签: objective-c swift

我尝试将self.assets NSArray转换为NSMutableArray并将其添加到picker.selectedAssets NSMutableArray。这段代码在swift中会怎么样?

Objective-C代码

picker.selectedAssets = [NSMutableArray arrayWithArray:self.assets];

2 个答案:

答案 0 :(得分:27)

使用Swift 5,NSMutableArray有一个初始化程序init(array:),它继承自NSArrayinit(array:)有以下声明:

convenience init(array anArray: NSArray)
  

通过在其中放置给定数组中包含的对象来初始化新分配的数组。


以下Playground示例代码显示为NSMutableArray的实例创建NSArray实例的热点:

import Foundation

let nsArray = [12, 14, 16] as NSArray
let nsMutableArray = NSMutableArray(array: nsArray)
nsMutableArray.add(20)
print(nsMutableArray)

/*
prints:
(
    12,
    14,
    16,
    20
)
*/

答案 1 :(得分:3)

你可以在swift中做同样的事情,只需修改一下语法:

var arr = NSArray()
var mutableArr = NSMutableArray(array: arr)