ExSwift具有数组扩展名:
/**
Converts the array to a dictionary with keys and values supplied via the transform function.
:param: transform
:returns: A dictionary
*/
func toDictionary <K, V> (transform: (Element) -> (key: K, value: V)?) -> [K: V] {
var result: [K: V] = [:]
for item in self {
if let entry = transform(item) {
result[entry.key] = entry.value
}
}
return result
}
然而,ExSwift Wiki只显示了另一个toDictionary()方法签名的示例。我还不太熟悉这些方法签名的工作方式。所以我想知道是否有人可以给我一个如何使用上述方法调用的例子?
最佳答案
您需要提供一个闭包,它接受数组的参数元素并返回键值对。
假设您有一个键数组,并希望为每个键创建一个具有默认值的字典(假设0
):
let keys = ["a", "b", "c"]
let dictionary = keys.toDictionary { element in
return (element, 0)
}
关于arrays - 如何使用ExSwift Array.toDictionary?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30183315/