E 'possibile verificare se una variabile è un optional, e che tipo è a capo?Controlla se la variabile è un Opzionale e che tipo si incastra
E 'possibile controllare se una variabile è un particolare optional:
let someString: String? = "oneString"
var anyThing: Any = someString
anyThing.dynamicType // Swift.Optional<Swift.String>
anyThing.dynamicType is Optional<String>.Type // true
anyThing.dynamicType is Optional<UIView>.Type // false
Ma è possibile controllare agains qualsiasi tipo di optional? Qualcosa di simile:
anyThing.dynamicType is Optional.Type // fails since T cant be inferred
// or
anyThing.dynamicType is Optional<Any>.Type // false
E una volta che sapendo di avere un optional, recuperare il tipo si è avvolgente:
// hypothetical code
anyThing.optionalType // returns String.Type
In ogni caso, non si dovrebbe mettere '' Optional' in Any'. vedere: [Come scartare un valore facoltativo da Qualsiasi tipo?] (http://stackoverflow.com/q/27989094/3804019) – rintaro
Potrebbe essere un caso valido, potresti avere una funzione che accetta 'Qualsiasi' e che si comporta diversamente se riceve un 'Optional'. – LopSae