Seite 1 von 2

Swift?

Verfasst: Mo Jun 30, 2014 10:05 am
von Xin
Apple hat eine neue Programmiersprache vorgestellt, die sich wohl an Python anlehnen soll:

t3n:Swift: Einstieg in Apples neue Programmiersprache leicht gemacht

Hat jemand schon erste Erfahrungen mit Swift gemacht? Lohnt sich das?

Re: Swift?

Verfasst: Mo Jun 30, 2014 10:47 am
von Architekt
Ist ja schon länger raus und der ganze Hype legt sich schon so langsam.
Swift hat eine nettere Syntax als Objective-C, ist aber vergleichsweise langsam:
http://www.infoq.com/news/2014/06/apple ... rmance-hit
http://www.infoworld.com/t/development- ... all-244120
http://stackoverflow.com/questions/2410 ... ing-arrays

Re: Swift?

Verfasst: Do Jun 18, 2015 7:48 pm
von xerion21
Hallo zusammen,

gibt es schon was neues zu Swift? Swift 2.0 soll ja sogar Linux-kompatibel rauskommen.
Entwickelt eigentlich von euch jemand für OS X? Wenn ja, in welcher Sprache?

Habe mir, nach langer Überlegung auch mal nen Macbook zugelegt und würde mich da auch gerne mal mit der Entwicklung befassen...

Re: Swift?

Verfasst: Do Jun 18, 2015 11:05 pm
von Xin
xerion21 hat geschrieben:Hallo zusammen,

gibt es schon was neues zu Swift? Swift 2.0 soll ja sogar Linux-kompatibel rauskommen.
Entwickelt eigentlich von euch jemand für OS X? Wenn ja, in welcher Sprache?

Habe mir, nach langer Überlegung auch mal nen Macbook zugelegt und würde mich da auch gerne mal mit der Entwicklung befassen...
Aktuell benutze ich den Mac nur vergleichbar zu einem Linux-System.
Meine Software auf dem Mac wird mit Make übersetzt, mit dem gleichen Skripts und Quellen wie auf dem Linux-Rechner.
Ich möchte mir aber Xcode mal genauer zu Gemüte führen.

Re: Swift?

Verfasst: Fr Jun 19, 2015 6:35 am
von xerion21
Xin hat geschrieben:Aktuell benutze ich den Mac nur vergleichbar zu einem Linux-System.
Meine Software auf dem Mac wird mit Make übersetzt, mit dem gleichen Skripts und Quellen wie auf dem Linux-Rechner.
Ich möchte mir aber Xcode mal genauer zu Gemüte führen.
Okay.

XCode habe ich mir nun auch mal installiert. Denke ich werde mir aber erstmal Objective-C anschauen und dannach ggf. Swift.

Re: Swift?

Verfasst: Sa Jun 20, 2015 12:55 pm
von Xin
xerion21 hat geschrieben:XCode habe ich mir nun auch mal installiert. Denke ich werde mir aber erstmal Objective-C anschauen und dannach ggf. Swift.
Berichte bitte doch ein wenig von Deinen Fortschritten und Erfahrungen.

Re: Swift?

Verfasst: Di Jun 23, 2015 8:10 pm
von xerion21
so mein erster Eindruck nach 3 Tagen Nutzung:

Zu Xcode: Xcode ist ein sehr umfangreiches Tool, was am Anfang sehr überladen wirkt. Viele Funktionen habe ich bis jetzt noch nicht genutzt. Die meisten Funktionen sind anhand der vielen Möglichkeiten und "Subfenster" nicht so schnell zu finden.

Zu Swift: Eine sehr interessante Sprache, welche mich sehr stark an Python erinnert. Mit was ich noch nicht so wirklich etwas anfangen kann, sind die Optionals. Die kenne ich so bis jetzt noch nicht. Aber klingt nach einem sehr interessanten Konzept.

Man kann Variablen einen Zusatz geben

Code: Alles auswählen

var stringVariable : String?
Durch das "?" zeigt man, dass die Variable optional ist und den Wert nil beinhalten kann.

Manche Funktionen erwarten einen nicht optionalen Typ, diese kann man mit einem weiteren Ausdruck ("!") wieder übergeben:

Code: Alles auswählen

#Funktion
func stringAusgeben(name: String) {
#Ausgabe name
}
# Aufruf der Funktion muss dann nicht optional sein
stringAusgeben(stringVariable!)
Durch die Optionals kann man sich die Überprüfung auf nil (null) sparen, da man weiß, dass die Variable nicht null sein kann. Diese muss dann immer ein Wert beinhalten.

Re: Swift?

Verfasst: Mi Jun 24, 2015 3:12 pm
von Xin
xerion21 hat geschrieben:Man kann Variablen einen Zusatz geben

Code: Alles auswählen

var stringVariable : String?
Durch das "?" zeigt man, dass die Variable optional ist und den Wert nil beinhalten kann.
Das gibt's in C# auch.
xerion21 hat geschrieben:Manche Funktionen erwarten einen nicht optionalen Typ, diese kann man mit einem weiteren Ausdruck ("!") wieder übergeben:

Code: Alles auswählen

#Funktion
func stringAusgeben(name: String) {
#Ausgabe name
}
# Aufruf der Funktion muss dann nicht optional sein
stringAusgeben(stringVariable!)
Durch die Optionals kann man sich die Überprüfung auf nil (null) sparen, da man weiß, dass die Variable nicht null sein kann. Diese muss dann immer ein Wert beinhalten.
Das mit dem ! verstehe ich noch nicht. Wenn stringVariable mit einem ! versehen wird, sagt das doch nichts aus?!
Wäre stringVariable optional und ist NIL, so macht ! daraus keinen gültigen Wert. Ist stringVariable nicht optional, so kann es auch nicht NIL sein, ergo ergibt ! keine Sinn!?

Re: Swift?

Verfasst: Mi Jun 24, 2015 4:45 pm
von mfro
Xin hat geschrieben: Das mit dem ! verstehe ich noch nicht. Wenn stringVariable mit einem ! versehen wird, sagt das doch nichts aus?!
Wäre stringVariable optional und ist NIL, so macht ! daraus keinen gültigen Wert. Ist stringVariable nicht optional, so kann es auch nicht NIL sein, ergo ergibt ! keine Sinn!?
Das "?" ist lediglich eine Abkürzung für

Code: Alles auswählen

Optional<irgendeintyp>
Das wiederum bedeutet, daß die Variable auch mal "keinen" Wert haben darf, ohne daß es gleich kracht. Intern wird das durch "nil" repräsentiert. Das "!" "packt" das Optional aus - wenn sich dabei rausstellt, das "nichts drin" (=nil) ist, gibt's einen Laufzeitfehler.

Das erspart das

Code: Alles auswählen

if (xxx != NULL) {
  tu_was();
} else {
  abort();
}
-Konstrukt

Re: Swift?

Verfasst: Mi Jun 24, 2015 5:34 pm
von Xin
mfro hat geschrieben:Das "!" "packt" das Optional aus - wenn sich dabei rausstellt, das "nichts drin" (=nil) ist, gibt's einen Laufzeitfehler.
Defective by Design. <stirnklatsch>
mfro hat geschrieben: Das erspart das

Code: Alles auswählen

if (xxx != NULL) {
  tu_was();
} else {
  abort();
}
-Konstrukt
Wenn ich also keinen Laufzeitfehler haben möchte, muss ich vorher doch fragen - beim Funktionsaufruf.
Variable! ist also nichts anderes als *Variable.