Swift 2 verfügt über Beschränkungen für die Verwendung bitweiser Operatoren für Bool
Werte. Das ist angenehm. In ObjC war es sehr nützlich, es zu verwenden, wenn Sie jeden Operanden ausführen müssen. Zum Beispiel:Kombinieren mehrerer Bool-Rückgabewerte ohne Kurzschluss
a.isFoo() & b.isFoo() & c.isFoo()
In diesem Fall wird die bitweise & mit jeder Methode auszuführen.
Wenn ich den logischen Operator verwenden & &, wird es die erste ausführen und wenn es falsch ist, wird der Ausdruck false zurück, ohne die anderen zwei Operanden ausgeführt wird.
Ich möchte die gleiche elegante Art und Weise, dass & Werke finden, mit Bool
in Swift. Ist es möglich?
Ich glaube, es gibt keine solche Operator (logisch und die keine Kurzschluss), um die Ausführung der Methode und kombiniert bedingten tun, aber man kann ein solches Unternehmen selbst erstellen. Oder speichern Sie die Ergebnisse zuerst in Variablen und machen Sie dann '&&'. – Sulthan
Was Sie in Objective-C gemacht haben, war nicht "elegant". Es war skanky und du hättest es nicht tun sollen. Wenn Sie drei Methoden aufrufen möchten, rufen Sie einfach diese drei Methoden auf! Wenn Sie jedoch einen booleschen Ausdruck bilden, sollten Sie die Operatoren logic_ und nicht _bitwise_ verwenden. – matt
Ich stimme dir nicht @matt. Es sieht elegant und kurz aus. Mag sein, hängt es von Codierungskultur ab. Leute, die in c/C++ vorher wie ein solcher Stil codiert haben. – Anessence