gpt4 book ai didi

arrays - 枚举由字典元素组成的数组时,无法修改字典值

转载 作者:行者123 更新时间:2023-11-30 14:13:15 26 4
gpt4 key购买 nike

var files = NSMutableArray()
...
for (var i = 0; i < files.count; i++) {
var f = files[i] as [String: AnyObject]
f["selected"] = true
}

当我调试代码时,f 的“selected”属性设置正确。但文件中相应的元素保持不变。为什么?谢谢。

最佳答案

我不确定在这里使用 NSMutableArray 会发生什么......但也许它的工作方式类似于值类型而不是引用类型。尝试用修改后的版本替换数组中的项目。

files.replaceObjectAtIndex(i, withObject: f)

修改后放置它。

var files = NSMutableArray()
//...
for (var i = 0; i < files.count; i++) {
var f = files[i] as! [String: AnyObject]
f["selected"] = true
files.replaceObjectAtIndex(i, withObject: f)
}

如果您使用的是 swift 数组类型,则应该使用类似的方法。

var files = [[String: AnyObject]]()

//...
for (var i = 0; i < files.count; i++) {
var f = files[i] as [String: AnyObject]
f["selected"] = true
files[i] = f;
}

关于arrays - 枚举由字典元素组成的数组时,无法修改字典值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31508719/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com