将NSArray转换为NSMutableArray Swift

问题描述 投票:8回答:2

我正在尝试将self.assets NSArray转换为NSMutableArray并将其添加到picker.selectedAssets这是一个NSMutableArray。这段代码在swift中会如何?

Objective-C代码

picker.selectedAssets = [NSMutableArray arrayWithArray:self.assets];
objective-c swift
2个回答
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
)
*/

3
投票

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

var arr = NSArray()
var mutableArr = NSMutableArray(array: arr)
© www.soinside.com 2019 - 2024. All rights reserved.