Я довольно новый для быстрых и я пытаюсь понять, как иметь дело с нулевыми переменными ...Как безопасно разворачивать значения nil в swift?
У меня есть два словаря:
var currencyname: NSDictionary = [
"CNY": "Chinese Yuan",
"PLN": "Polish Zloty"
"EUR": "Euro"
]
var rawrates NSDictionary = [
"CNY": "1.34",
"PLN": "1.456"
]
Я совмещая их с помощью словаря кортежей:
var combinedDictionary:[String:(name:String,rate:String)] = [:]
for key in currencyname.keys.array {
combinedDictionary[key] = (currencyname[key]!,rawrates[key]!)
}
Однако я получаю ошибку found nil while unwrapping an Optional value
с ключом EUR
в currencyname
словарь не соответствует любой клавиши в rawrate
словаре.
Я понимаю, что мне нужно как-то проверить, что ключ существует в обоих словарях, прежде чем объединять их с помощью let if
? Но я смущен относительно синтаксиса ... Я также попытался использовать необязательные значения без успеха.
Так что мой вопрос: как я могу объединить эти два словаря и оставить вне EUR
из объединенного словаря, поскольку в словаре rawrate
нет соответствующего ключа?
Благодарим за помощь!
«У меня есть два массива» Нет, у вас есть два словаря. Вы не получите _anywhere_ до тех пор, пока не получите _that_ прямо. – matt
К сожалению, вы правы! Я отредактировал мой вопрос – anto0522
Я думаю, вы должны остановиться и четко заявить, для себя и для нас, что вы хотите, чтобы конечный результат выглядел. Вы, кажется, не знаете, чего хотите, поэтому у вас нет возможности добраться туда, если вы понимаете, что я имею в виду. – matt