Cerco un modo per valutare uno Swift Bool
conciso in un unico if
dichiarazione, quando la Bool
è la proprietà di un oggetto optional:Valutare Bool proprietà di oggetto opzionale in if
var objectWithBool: ClassWithBool?
// ...
if let obj = objectWithBool {
if obj.bool {
// bool == true
} else {
// bool == false
}
} else {
// objectWithBool == nil
}
C'è sono un modo per combinare queste dichiarazioni if
? In Objective-C questo potrebbe facilmente essere fatto, come oggetto nil
può essere valutata nella stessa espressione:
if (objectWithBool.bool) {
// bool == true
} else {
// bool == false || objectWithBool == nil
}
non vorrei dire che *" forza la valutazione del Bool opzionale "*. 'objectWithBool? .bool' può essere' true', 'false' o' nil' ('== Opzionale .None'), e il confronto' == true' restituisce 'true' solo nel primo caso. –
@MartinR Vero, sono stato un po 'frettoloso lì. Ho ampliato la spiegazione un po '- spero che abbia più senso ora. – Stuart