Estoy mirando las diferencias presentadas a un proyecto por otro desarrollador, y tienen un montón de código que hace !!<some BOOL value>
. De hecho, este parece ser su patrón estándar para implementar getters y setters booleanos. Han implementaron su código como:Objective-C - Is !! BOOL Beneficial
- (BOOL) hasId {
return !!hasId_;
}
- (void) setHasId:(BOOL) value {
hasId_ = !!value;
}
nunca he visto este patrón antes, y me pregunto si hay algún beneficio en su uso. ¿La doble negación hace algo útil?
la única vez que he visto que era para una clase que no tenía una forma directa de enviar a bool, por lo que no podían hacer 'if (myInstance)', pero sobrecargó el operador '!' Único , entonces harían 'if (!! myInstance)'. Pero en tu caso, no tengo idea. – filipe