Добавить новый ключ / значение в словарь - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть dictionary типа [String: [String]] и загружается как пустое [ : ].

Есть ли способ добавить значение в массив, связанный с новым ключом строки? (т.е. exampleDict["test"].append("test"))

Когда я распечатываю словарь после попытки этого, мне возвращается [ : ], что, как я полагаю, потому что ключ не существует и возвращается как ноль.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Swift имеет удобную функцию «по умолчанию» для выполнения таких действий.

exampleDict["test", default: []].append("test")

Если exampleDict["test"] равен нулю, вместо него возвращается default. Если вы измените возвращенный объект по умолчанию, это изменение попадет в словарь.

К сожалению, это работает правильно только для типов значений, так как классы не переназначаются, когда они видоизменяются. К счастью, Array является типом значения, поэтому здесь он будет отлично работать.

0 голосов
/ 30 апреля 2018

Вы должны использовать Dictionary.subscript(_:default:).

exampleDict["test", default: []].append("test")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...