In this Anwendung gibt es die Aussage:Swift Besondere Closure Syntax
var instanceCount = { globalHappinessInstanceCount++ }()
Bei dem Versuch, die obige Aussage zu verstehen, habe ich gefunden, dass, soweit ich getestet habe, die Aussage unter das gleiche Ergebnis erzielt:
var instanceCount = globalHappinessInstanceCount++
Q1. Was ist die erste Aussage, die erreicht, dass die zweite nicht?
Q2. Sind die Klammern(), die dem Closure-Ausdruck folgen, ein leeres Tupel, Initialisersyntax, ... oder was? Wie soll man die erste Aussage lesen?
Also selbst im Klassenrahmen ist die erste Aussage immer noch eine unnötige Schließung? –
Ich glaube, wir müssen {globalHappinessInstanceCount + = 1} zurückstellen, weil ++ Postfix ist. –
Also jetzt für Swift 3 veraltet ++ mussten wir hinzufügen: eine Int-Spezifikation, einen Defer-Block und eine return-Anweisung. Könnte dies ein hinreichender Grund sein, auf eine Umkehrung der veralteten Betreiberentscheidung zu drängen? –