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,

Другие вопросы по тегам