swift - 如何在 Swift 中不更改父 NSMutableArray

标签 swift nsmutablearray

我有一个 NSMutableArray,我只想将它复制到另一个 NSMutableArray 并更改第二个

示例代码

let one: NSMutableArray = NSMutableArray();
one.addObject(9);

var two: NSMutableArray = NSMutableArray();

two = one;
two.addObject(4);
one.addObject(2);

println(two); // "(\n    9,\n    4,\n    2\n)" - the 2 should not be here
println(one);// "(\n    9,\n    4,\n    2\n)" - the 4 should not be here

我试试

two = one.copy() as! NSMutableArray; // but this give an error

//更新 //如果取而代之的是一个简单的数字,则有 NSMutableDictionary

let one: NSMutableArray = NSMutableArray();

for (var i = 0; i < 2; i++){
    let dic: NSMutableDictionary = NSMutableDictionary();
    dic["type"] = "free";
    dic["value"] = i;
    one.addObject(dic);
}

var two: NSMutableArray = one.mutableCopy() as! NSMutableArray;

two[0].setObject("used", forKey: "type");
println(two);
println(one); // one[0] - used, but it should be free

最佳答案

//这是复制旧数组的方法

let two: NSMutableArray = NSMutableArray(array: one);

关于swift - 如何在 Swift 中不更改父 NSMutableArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29990251/

相关文章:

swift - 在 swift 2.0 中将 NSArray 转换为 NSMutableArray

ios - SQlite密码IOS

ios - UNUserNotification 不会触发我在 iOS 12 下的本地通知

ios - 自定义委托(delegate)很快就为零

swift - 如何在 Swift 中将参数作为字符类型添加到 NSMutableArray

iphone - 访问 NSMutableArray 到没有值的索引

objective-c - 保持数组排序 - 在设置时、获取时还是稍后?

ios - 如何在 segue 之前更新选定的行?

Swift CORE ML 识别物体并检查它是否是手?

ios - 'NSInvalidArgumentException',原因 : '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'