Como obter o valor associado de uma enumeração rápida, independentemente do caso da enumeração

Eu tenho um objeto FormField que possui duas propriedades: uma Stringnamee umvalue que pode aceitar qualquer tipo - por isso eu fizAny!. No entanto, me disseram emuma pergunta separada usar uma enumeração com valores associados em vez deAny!.

enum Value {
    case Text(String!)
    case CoreDataObject(NSManagedObject!)
}

class FormField {
    var name: String
    var value: Value?
    // initializers...
}

Essa abordagem torna muito detalhado verificar a nulidade, no entanto. Se eu quisesse exibir uma exibição de alerta para todos os campos ausentes no formulário, terei que repetir uma verificação nula para todos os casos em uma instrução switch:

for field in self.fields {
    if let value = field.value {
        switch value {
        case .Text(let text):
            if text == nil {
                missingFields.append(field.name)
            }
        case .CoreDataObject(let object):
            if object == nil {
                missingFields.append(field.name)
            }
        }
    }
}

Existe uma maneira mais curta de acessar o valor associado à enumeração, independentemente do tipo? Se eu criar FormField.value umAny! o código acima seria tão fácil quanto:

for field in self.fields {
    if field.value == nil {
        missingFields.append(field.name)
    }
}

questionAnswers(3)

yourAnswerToTheQuestion