Wie überprüfe ich, ob in objective-c (iphone) ein BOOL gesetzt ist?Prüfen, ob ein BOOL gesetzt ist (nicht möglich mit == nil)
ich weiß, dass es mit einem int oder float auf diese Weise gemacht werden kann: NSNumber * Num = [prefs floatForKey: @ "key"]; zum Beispiel
Eigentlich kann ein 'BOOL' nicht' YES' oder 'NO' sein. Der einzige sichere Weg, mit 'BOOL' zu arbeiten, ist zu überprüfen, ob es entweder' NO' oder '! NO' ist. 'BOOL' ist ein' typedef' für 'signed char'. – dreamlax
@dreamlax True, Sie könnten ein BOOL auf 1 oder 2 setzen, aber für mich scheint das eine Perversion des Zwecks des Typedef. –
@Dave, es geht nicht nur um Assingments, zum Beispiel, wenn ein 'BOOL' der Rückgabewert einer Methode ist, die einfach einen Wert basierend auf einer' char'-dimensionierten Bitmaskenoperation zurückgibt, dann darf der Rückgabewert nicht 0 oder sein 1. Idealerweise sollte die Methode '((flags & mask) == mask) zurückgeben, aber das ist nicht erforderlich. – dreamlax