Swift 将新条目添加到“中”;复杂的;词典
我有一本更“复杂”的字典,我正在尝试添加新条目。字典代码如下:Swift 将新条目添加到“中”;复杂的;词典,swift,swift-dictionary,Swift,Swift Dictionary,我有一本更“复杂”的字典,我正在尝试添加新条目。字典代码如下: var users: [[String:Any]] = [ [ "firstName": "Bill", "lastName": "G" ] ] 我尝试使用以下代码添加新条目: users[1]["firstName"] = "Steve" users[1]["lastName"] = "J" print(users) // fatal error: Array index out
var users: [[String:Any]] = [
[
"firstName": "Bill",
"lastName": "G"
]
]
我尝试使用以下代码添加新条目:
users[1]["firstName"] = "Steve"
users[1]["lastName"] = "J"
print(users) // fatal error: Array index out of range
但是收到“致命错误:数组索引超出范围”我看了几个例子,但似乎都是处理更简单的字典。我错过了什么?这在操场上起作用
var users: [[String:Any]] = [
[
"firstName": "Bill",
"lastName": "G"
]
]
users[0]["firstName"] = "Steve"
users[0]["lastName"] = "J"
users
使用索引0,而不是像您使用的那样使用1,这会导致索引越界错误
还是更具活力的方法
var users = [[String:AnyObject]]()
let personA = ["Steve":"J"]
let personB = ["Foo":"Z"]
users.append(personA)
users.append(personB)
users
这在操场上起作用
var users: [[String:Any]] = [
[
"firstName": "Bill",
"lastName": "G"
]
]
users[0]["firstName"] = "Steve"
users[0]["lastName"] = "J"
users
使用索引0,而不是像您使用的那样使用1,这会导致索引越界错误
还是更具活力的方法
var users = [[String:AnyObject]]()
let personA = ["Steve":"J"]
let personB = ["Foo":"Z"]
users.append(personA)
users.append(personB)
users
首先需要创建字典实例并将其添加到数组中,然后可以向其中添加键:值对:
var users: [[String:Any]] = [
[
"firstName": "Bill",
"lastName": "G"
]
]
users.append([String:Any]())
users[1]["firstName"] = "Steve"
users[1]["lastName"] = "J"
print(users) // [["firstName": "Bill", "lastName": "G"], ["firstName": "Steve", "lastName": "J"]]
您甚至可以在一条语句中这样做:
users.append(["firstName": "Steve", "lastName": "J"])
如果未将新元素附加到数组中,则当您尝试引用下一个索引时,它将超出范围。您需要首先创建字典实例并将其添加到数组中,然后可以向其添加键:值对:
var users: [[String:Any]] = [
[
"firstName": "Bill",
"lastName": "G"
]
]
users.append([String:Any]())
users[1]["firstName"] = "Steve"
users[1]["lastName"] = "J"
print(users) // [["firstName": "Bill", "lastName": "G"], ["firstName": "Steve", "lastName": "J"]]
您甚至可以在一条语句中这样做:
users.append(["firstName": "Steve", "lastName": "J"])
如果您不将新元素附加到数组中,那么当您尝试引用下一个索引时,它将超出范围。使用0覆盖第一个条目。要添加,您需要使用
append
或+=
。使用0覆盖第一个条目。要添加,您需要使用append
或+=
。没有什么复杂的关于这个真的。这只是一系列字典,其实并不复杂。这只是一系列字典。