- Registriert
- 12.07.08
- Beiträge
- 351
Nachdem meine Kopfschmerzen, verursacht von der Typensicherheit in Swift, langsam nachlassen ist mein Sourcecode nun ein Urwald von Variablen in teilweise dreifacher Ausführung.
Grund: Will ich 3+3+3+3 rechnen und die erste Zahl ist ein Int, die zweite ein UInt32, die dritte ein Double und die vierte ein Float, so kann man sagen dass ein addieren dieser Zahlen erstmal unmöglich ist. Man muss diese Zahlen erstmal umwandeln (casten) damit sie alle vier den gleichen Datentyp haben. Das heisst ich habe nicht vier Variablen sondern dann in diesem Fall dann sieben die dann den Datentyp Float (zum Beispiel haben).
Will ich die Zahl dann mit einer bestimmter Nachkommazahl anzeigen, ist zum Schluß dann ein casten der Zahl in einen String nötig (NSString stringWithFormat).
Mache ich etwas grundlegendes falsch, oder ist es wirklich so, dass 3+3+3+3 ganz schön aufwendig werden kann?
Oder anderes Beipsiel. Um ein zufälligen Wert in einem Array anzuzeigen muss ich erst eine Zufallszahl in UInt32 erstellen und diese dann zum Schluß in Int casten.
Damit muss man leben, oder? Zufallszahlen kann man nur in UInt32 erzeugen, Arrays lassen sich nur mit Int werten adressieren.
Grund: Will ich 3+3+3+3 rechnen und die erste Zahl ist ein Int, die zweite ein UInt32, die dritte ein Double und die vierte ein Float, so kann man sagen dass ein addieren dieser Zahlen erstmal unmöglich ist. Man muss diese Zahlen erstmal umwandeln (casten) damit sie alle vier den gleichen Datentyp haben. Das heisst ich habe nicht vier Variablen sondern dann in diesem Fall dann sieben die dann den Datentyp Float (zum Beispiel haben).
Will ich die Zahl dann mit einer bestimmter Nachkommazahl anzeigen, ist zum Schluß dann ein casten der Zahl in einen String nötig (NSString stringWithFormat).
Mache ich etwas grundlegendes falsch, oder ist es wirklich so, dass 3+3+3+3 ganz schön aufwendig werden kann?
Oder anderes Beipsiel. Um ein zufälligen Wert in einem Array anzuzeigen muss ich erst eine Zufallszahl in UInt32 erstellen und diese dann zum Schluß in Int casten.
Code:
var unsignedArrayCount = UInt32(array.count) // UInt32
var unsignedRandomNumber = arc4random_uniform(unsignedArrayCount) // UInt32
var randomNumber = Int(unsignedRandomNumber) // Int
print(array[randomNumber])
Damit muss man leben, oder? Zufallszahlen kann man nur in UInt32 erzeugen, Arrays lassen sich nur mit Int werten adressieren.
Zuletzt bearbeitet: