Mein Problem wird unten erklärt. TLDR: mein Code erfordert, dass ich eine dritte Variable verwende, um den Wert einer berechneten Eigenschaft darzustellen. Ich frage mich, ob es einen Weg gibt, es mit nur zwei Variablen zu machen.Underlying Variable in einer berechneten Eigenschaft | Swift
Also habe ich eine berechnete Eigenschaft namens firstNumber
, die eine boolesche ist. Jedes Mal wenn sein Wert geändert wird, möchte ich eine andere Variable ändern, isDecimal
, die unabhängig von firstNumber
ist und viele verschiedene Dinge hat, die es ändern.
Um dies zu tun, wenn firstNumber
auf false gesetzt ist, setze ich auch isDecimal
auf false. Das einzige Problem ist, dass ich auch die firstNumber
Boolesche haben muss, um einen Wert zu haben, also habe ich einen zugrunde liegenden booleschen Namen firstNumberAPI
erstellt.
Ich glaube nicht, dass dies der beste Weg ist, um zu tun, was ich versuche zu tun. Ich frage mich, ob jemand eine Möglichkeit vorschlagen kann isDecimal
setzen, wenn firstNumber
geändert wird, ohne eine dritte, firstNumberAPI
Variable zu erstellen.
var isDecimal = false
var firstNumberAPI = false
var firstNumber: Bool{
get{
return firstNumberAPI
}
set{
firstNumberAPI = newValue
if newValue==true{
isDecimal = false
}
else{
isDecimal = true
}
}
}
Vielen Dank für Ihre Hilfe! Könntest du vielleicht erklären, was "Didset" ist? Ich habe diese Syntax noch nie zuvor gesehen. –
@JamesDorfman Siehe mein Update. – rmaddy
@LeoDabus Natürlich ist das nicht richtig. Sie benötigen 'var firstNumber: Bool = true {...}'. – rmaddy