Eureka Получить словарь значений Swift
Я использую библиотеку форм Eureka, найденную здесь. Я пытаюсь перебрать значения словаря в форме и вывести только те значения, которые являются истинными; не ноль или не ложь. Пока у меня есть
let valuesDictionary = form.values()
for (_, version) in valuesDictionary
{
if version != nil || version as! Bool != false // error here
{
print (version!)
}
}
Я получаю следующую ошибку в операторе if:
фатальная ошибка: неожиданно найден ноль при развертывании необязательного значения
1 ответ
Решение
Сделай это так:
for (_, version) in valuesDictionary
{
if let version = version, version as? Bool != false {
print(version)
}
}
Это будет переведено как:
if let version = version
: если есть значение (version is not nil
)
После проверки, не является ли оно пустым (необязательное связывание), в качестве условия where:
version as? Bool != false
: проверяет точки буксировки:
1- это version
может быть приведен к Bool
,
2- Если первая точка верна, проверьте, не версия ли false
,