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/

10-09 16:30