当前位置:  开发笔记 > IOS > 正文

在Swift 2中更改数组中字典的值

如何解决《在Swift2中更改数组中字典的值》经验,为你挑选了1个好方法。

我正在尝试更改数组中字典的值.我在PlayGround中制作了一个小型原型:

var arr = [NSDictionary]()
arr.append(["name":"blue","view":"","visible":"true","locked":"false"])
arr.append(["name":"yellow","view":"","visible":"true","locked":"false"])
arr.append(["name":"green","view":"","visible":"false","locked":"true"])

//test remove
arr.removeAtIndex(2)

arr.count

//test edit
let nameChange = arr[1]
nameChange.setValue("black", forKey: "name")

arr[1]


但是发生了错误,我无法解决: 在此输入图像描述

有人能帮帮我吗?



1> sunshinejr..:

因为您创建了字典NSDictionary- 一旦设置了这些值就无法更改.但是你仍然想要改变它们setValue(),这就是为什么你有错误.修复很简单,将其更改为NSMutableDictionary.但是.当你有Swift API时,你不应该使用Objective-C API.这就是你应该使用Swift的原因Dictionary.怎么样?例如

var arr = [[String:String]]()
arr.append(["name":"blue","view":"","visible":"true","locked":"false"])
arr.append(["name":"yellow","view":"","visible":"true","locked":"false"])
arr.append(["name":"green","view":"","visible":"false","locked":"true"])

//test remove
arr.removeAtIndex(2)

arr.count

//test edit
var nameChange = arr[1]
nameChange["name"] = "black"

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有