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?