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/