Recentemente un collaboratore ha iniziato a verificare i valori booleani nel seguente modo:
if boolVar.boolValue {
...
}
Queste variabili sono generalmente dichiarate esplicitamente come tipi booleani usando:
var boolVar: Bool!
o
var boolVar = false
Sono consapevole che se una variabile è dichiarata come booleana, dovrebbe essere trattata come tale. Significa che può essere sempre solo true o false , quindi dovrebbe essere trattato come tale e non dovrebbe essere necessario immergersi nella proprietà boolValue che afferma che è esattamente la stessa.
Ecco come la definisce Apple:
extension Bool : BooleanType {
/// Identical to 'self'.
public var boolValue: Bool { get }
/// Construct an instance representing the same logical value as
/// 'value'.
public init<T : BooleanType>(_ value: T)
}
Mi sembra che questo sia utile per creare i tuoi tipi conformi a BooleanType . Ritengo inoltre che questa proprietà .boolValue possa tornare utile se si scartano booleani da un dizionario o una risposta JSON, ma in questa istanza ci si sente strani.
La mia domanda è, c'è mai un caso in cui dovremmo controllare i booleani in questo modo?