Давайте скажем, что у меня есть массив объектов, которые можно идентифицировать, и я хочу создать словарь из него. Я легко могу получить кортежи из своего массива следующим образом:
let tuples = myArray.map { return ($0.id, $0) }
Но я не вижу инициализатора для словаря, чтобы взять массив кортежей. Я что-то упускаю? У меня есть расширение для словаря для этой функции (на самом деле это не сложно, но я думал, что он будет предоставлен по умолчанию), или есть более простой способ сделать это?
Существует код для расширения
extension Dictionary
{
public init (_ arrayOfTuples : Array<(Key, Value)>)
{
self.init(minimumCapacity: arrayOfTuples.count)
for tuple in arrayOfTuples
{
self[tuple.0] = tuple.1
}
}
}