Учитывая каталог и ключ, я хочу, чтобы увеличить значение этого ключа, если он существует в словаре, или инициализировать его в 1.Наиболее оптимальный способ увеличения или инициализировать Int в Swift словарь
The Тип словаря - Словарь, но по дизайну тип значения для этого ключа всегда будет Int, поскольку он будет изменен только этим кодом.
Код, который я до сих пор ниже, но хотел бы его оптимизировать в стремительном стиле.
let v = dict[key] as? Int
if v != nil {
dict[key] = v! + 1
} else {
dict[key] = 1
}
Я думаю, что правая сторона ?? также может быть необязательным, поэтому результат будет необязательным, и если у вас есть nil ?? nil, тогда результат будет равен нулю. Удобный для таких вещей, как (firstChoice? SecondChoice? ThirdChoice? DefaultValue) – gnasher729
@ gnasher729 Вы правы. Так как оператор перегружен версией, которая имеет опцию с правой стороны. – Qbyte