我有两个单独的数组要导入到字典中。顺序非常重要,因为两个数组必须匹配索引
Dim col
col = Split(Selection.Address, "$")(1)
Dim tmp as Integer
tmp = CInt(col) + 2
答案 0 :(得分:1)
字典没有特定的顺序。但是,如果两个数组的长度相同,则可以很容易地将它们一起迭代:
var dictionary = [NSString: AnyObject]()
for var index = 0; index < data.users.count; index++ {
let img = data.img as! NSString
dictionary[img] = data.users[index]
}
或者,正如@robertvojta建议的那样,使用zip()
方法:
var dictionary = [NSString: AnyObject]()
for (user, image) in zip(data.users, data.img) {
let img = image as! NSString
dictionary[img] = user
}
答案 1 :(得分:0)
swift中字典中的key
必须为hashable
。即,不是AnyObject
。
假设你可以替换一些无类型的Swift数组,或像这样抛出它们:
struct MyVariables {
var users:Array<AnyObject>
var img:Array<String>
}
然后你可以使用首选的Swift方法迭代1个数组,并使用索引访问第二个数组:
var dictionary = Dictionary<String, AnyObject>()
for (index, element) in enumerate(MyVariables.img) {
dictionary[element] = MyVariables.users[index]
}
答案 2 :(得分:0)
使用for循环传播数组,根据索引访问键和值各自的数组并将其添加到字典中。它非常简单,因此您可以使用它来实现目标。
我希望它会对你有所帮助!