Die Anleitung zum Swift für den Anfänger
View more Tutorials:
Das ist das Anleitungsdokument über Swift für den Anfänger. Um Swift zu programmieren, sollen Sie das Programmierungstool XCode installieren. Sie können die Anleitung des Herunterladen und der Installation bei ... sehen :

Das ist ein Unterlagen zum schnellen Lernen. Wenn Sie mit Swift nur anfängen, sollen Sie vom oben nach hinten lesen und durchführen weil das die schrittliche Anleitung ist. Das Dokument bringt Ihnen eine Überblick vor dem Kennenlernen der detailierten Unterlagen
Das ist das erste Foto bei der Öffnung von Xcode

das Projekt erstellen

Wir erstellen ein einfaches Projekt (die Console Applikation, die keine Interface hat).

Den Name für das Projekt als SwiftBasics:stellen

Ein Verzeichnis bei Desktop erstellen um Ihre Projekte zu enthalten

Den Name von dem Verzeichnis zur Enthaltung Ihres Projekt als SwiftTutorials erstellen:


Ihr Projekt wird erstellt


main.swift ist eine Hauptfile, die bei der Erstellung Ihres Projekt erstellt wird. Sie sollen die Hauptfile starten. Sie wird auf dem Bildschirm Console die Wörter Hello, world" drücken.

Klicken Sie auf "Enable" damit das Programm in dem Modus für den Programmern laufen kann


Das Programm läuft und drückt die Wörter "Hello, world" aus

Sie sollen einen grundlegenden Überblick über Swift haben. Das ist sehr wichtig.
Was ist Top Level
Ein Befehl oder eine Ausdrück, die in einer Funktion, einem Befehl oder einer Klasse liegen nicht, liegen d.h in Top-Level.

Top-Level ist eine Ort, wo Sie die Bibliothek, Variable, Konstante, Funktion, Klasse melden. Nach dem Standard können die Variable und die Konstante, die in der Top-Level von der Hauptfile gemeldet werden, in die vielen Hauptfile in einer gleichen Module benutzt werden.
Sie können eine Ausdrück in Top-Level nicht schrieben, zum Beispiel eine Ausdrück zur Aufruf einer Funktion. Deshalb ist die Aufruf der Funktion print("Hello") zum Drucken der Wörter "Hello" in Top-Level nicht gültig. Wenn Sie es in die Hauptfile main.swift nicht arbeiten (Das ist eine Ausnahme).
Die Startpunkt des Programm Swift:
Im Swift Programm ist die File main.swift besonder. Denn es ist ein Startpunkt um das Programm zu laufen. Sie können die Funktion oder Ausdruck im Top-Level in die Hauptfile main.swift rufen. Das ist eine Ausnahme für die File
Ich erstelle eine neue Hauptfile mit dem Name von newfile.swift, dann sehen Sie eine Fehleranmeldung wenn ich eine Ausdrück in Top-Level schreibe.

Die Ausdrücke sollen in einer Funktion oder einen Befehl stellen
jetzt sollen Sie eine erste Hauptfile von Ihnen erstellen und sie laufen
Auf die XCode klicken Sie die Rechtmaustaste in dem Verzeichnis, wo die Hauptfile main.swift liegt, wählen Sie "New file".


Geben Sie den Name der File MyFirstSwift:

MyFirstSwift.swift wurde erstellt

Ich ändere die erstellte Quellenfile und füge eine Funktion sayHello() ein. Achtung: die Einzelheit der Funktion wird später erwähnt
MyFirstSwift.swift
import Foundation // Die Begrüßung. var message = "Hello every body" // Die Funktion sayHello() func sayHello() { // Die Aufruf auf die Funktion print um die Nachricht auf dem Bildschirm Console auszudrucken. // Achtung: Sie können die Funktion bei Top-Level nicht rufen. print(message) }
Die Startpunkt des Laufen der Applikation ist main.swift im Swift, deshalb rufen Sie im main.swift um die Funktion sayHello() zu prüfen. Die Kode vom main.swift ändern:
main.swift
import Foundation print("Hello, World!") // Die Aufruf auf die Funktion sayHello() // (im MyFirstSwift.swift festgelegt) sayHello()
Das Projekt durchführen

Type | Typical Bit Width | Typical Range |
---|---|---|
Int8 | 1byte | -127 to 127 |
UInt8 | 1byte | 0 to 255 |
Int32 | 4bytes | -2147483648 to 2147483647 |
UInt32 | 4bytes | 0 to 4294967295 |
Int64 | 8bytes | -9223372036854775808 to 9223372036854775807 |
UInt64 | 8bytes | 0 to 18446744073709551615 |
Float | 4bytes | 1.2E-38 to 3.4E+38 (~6 digits) |
Double | 8bytes | 2.3E-308 to 1.7E+308 (~15 digits) |
Ein Variable wird durch einen Name für ein Datenspeicherungsort festgelegt, wo Ihr Programm verarbeitet kann. Jede Variable im Swift hat eine bestimmte Daten, davon die Größe und der Umfang der Wert können in der Speicherung archiviert werden und die Kollektion der Operatoren können für die Variable angewendet werden
Die Variable kann während ihrer Existenz im Programm verändern. Die Variable, die die stabile Wert hat, wird die Konstante genannt. Benutzen Sie das Schlüsselwort let um eine Variable als eine Konstante melden
Im Swift können Sie eine Variable in Top-Level oder eine lokale Variable in einer Klasse oder einer Funktion melden. Die Variable, die in Top-Level gemeldet werden, können in die anderen QuellenFile in einem gleichen Modul (Projekt) werden
Die Variable melden
// <Variable name>: Der Name der Variable // <Data Type>: Das Typ von Daten var <Variable name> : <Data Type> ; // Eine Variable erklären und die Wert übertragen. // <Variable name>: Der Name der Variable // <Data Type>: Das Typ von Daten // <value>: Die Wert var <Variable name> : <Data Type> = <value>; // Eine Konstante erklären // <Constant name>: Der Name erklären. // <Data Type>: Das Typ von Daten // <value>: Die Wert let <Constant name> : <Data Type> = <value>; // Zum Beispiel: // Eine Variable erklären // Der Name der Variable: year // Das Typ von Daten: Int // Die Wert: 2016 var year: Int = 2016; // Das primitiven Typen (Int, Double, Bool) und String können Sie in der Erklärung ignorieren. // Swift kann Ihre Meinung verstehen .. // Als String nachgedacht var languageName = "Swift" var version = 1.0 // Double var introduced = 2014 // Int var isAwesome = true // Bool
VariableExample.swift
import Foundation // Den Schlüsselwort 'let' benutzen um eine Konstante zu erklären (constant). // Der Name von Konstante ist 0 COPYRIGHT, das Datentyp ist String, // und die Wert ist "o7planning". // (Das ist eine Konstante, die in Top-Level erklärt wird. // Sie wird in die anderen File im Projekt benutzt). let COPYRIGH: String = "o7planning" // Den Schlüsselwort 'var' benutzen um eine Variable zu erklären (variable). // Der Name von Variable ist : year // Das Datentyp: Int // Die Wert: 2016 // (Das ist eine Variable, die in Top-Level erklärt wird // Sie wird in die anderen File im Projekt benutzt). var year: Int = 2016 func variableExample() { // Eine Konstante von Integer erklären // Sie können eine Wert für die Konstante nicht übertragen let MAX_SCORE = 100; // Ein Integer erklären (integer). var score = 90; // Ein String erklären (string). var studentName = "Tom" // Das String auf dem Bildschirm Console ausdrucken print("Hi \(studentName)") print("Your score: \(score)/\(MAX_SCORE)") print("Assign new value for studentName") // Die neue Wert für die Variable studentName übertragen. studentName = "Jerry" print("Hi \(studentName)") }
Die Kode der Hauptfile main.swift ändern
main.swift
import Foundation // Die Aufruf auf Funktion variableExample(), // die in die File VariableExample.swift definiert wird variableExample()
Das Beispiel durchführen

if ist ein Befehl zur Prüfung einer Bedingung im Swift. Zum Beispiel: Wenn a > b, dann ....
Die üblichen Vergleichoperator
Der Operator | die Bedeutung | das Beispiel |
> | größer | 5 > 4 ist richtig (true) |
< | kleiner | 4 < 5 ist richtig (true) |
>= | größer oder gleich | 4 >= 4 ist richtig (true) |
<= | kleiner oder gleich | 3 <= 4 ist richtig (true) |
== | gleich | 1 == 1 ist richtig (true) |
!= | nicht gleich | 1 != 2 ist richtig (true) |
&& | und | a > 4 && a < 10 |
|| | oder | a == 1 || a == 4 |
// condition: Die Bedingung. if ( condition ) { // Hier etwas machen }
Das Beispiel
// Zum Beispiel 1: if ( 5 < 10 ) { print( "Five is now less than ten"); } // Zum Beispiel 2: if ( true ) { print( "Do something here"); }
Die volle Struktur vom if - else if - else:
// Achtung: Nur maximal ein Befehl wird implementiert // Das Programm prüft die Bedingungen vom oben nach hinten // Bei Treffen der richtigen Bedingung wird das Befehl implementiert // Die restlichen Bedingungen ignoriert ... // Wenn condition1 richtig ist .. if (condition1 ) { // Etwas machen wenn condition1 richtig ist (true). } // Umgekehrt wenn condition2 richtig ist, dann ... else if(condition2 ) { // Hier etwas machen wenn condition2 richtig ist (condition1 ist falsch). } // Umgekehrt wenn conditonN richtig ist , dann ... else if(conditionN ) { // Hier etwas machen wenn conditionN richtig ist // (Alle oben Bedingung sind falsch). } // Umgekehrt (Wenn alle oben Bedingunen sind falsch). else { // Hier etwas machen }
IfElseExample.swift
import Foundation func ifElseExample() { // Eine Variable vom Typ UInt32 mit der Random Wert erklären. // (Hàm arc4random() gibt eine Random Wert zurück). var randomValue: UInt32 = arc4random() print("Random value = " + String(randomValue)) // Die Division durch 200 und die Aufnahme von dem Rest (remainder). var age: UInt32 = randomValue % 200; print("Your age= " + String(age)) // Prüfen, wenn age < 80 ist, dann.. if (age < 80) { print("You are pretty young"); } else if age >= 80 && age <= 100 { print("You are old"); } // Umgekehrt (die restlichen Situation). else { print("You are verry old"); } }
Das Beispiel durchführen

Einige Beispiele benutzen switch:
SwitchExample1.swift
import Foundation func switchExample1() { // Bitten, der Benutzer eine Option wählt print("Please select one option:") print("1 - Play a game") print("2 - Play music") print("3 - Shutdown computer") print("---------------------") var randomValue: UInt32 = arc4random() // Die Division durch 5 und die Aufnahme der Rest (remainder) (0, 1, 2, 3, 4) var myValue:UInt32 = randomValue%5 // Eine Variable 'option' erklären // Cast das Typ vom UInt32 zum Typ Int. // 'option' hat die Wert von 1, 2, 3, 4 oder 5. var option:Int = Int(myValue) + 1 // String(option): Cast zum String. print("You select: " + String(option)) // Die Wert von 'option' prüfen. switch (option) { case 1: print("You choose to play the game"); case 2: print("You choose to play the music"); case 3: print("You choose to shutdown the computer"); // Die restlichen Fallen default: print("Nothing to do..."); } }
Das Beispiel durchführen

Sie können viele Werte in einem Fall (case) zusammenstellen
SwitchExample2.swift
import Foundation func switchExample2() { // Eine Variable erklären und die Wert 3 übertragen. var option = 3 print("Option = \(option) ") // Die Wert von 'option' checken. switch (option) { case 1: print("Case 1") // Falls die Wert ist 2,3,4,5 case 2, 3, 4, 5: print("Case 2,3,4,5!!!") // Falls die Wert ist vom 6 -> 10 case 6...10: print("Case 6...10") // Falls die Wert vom 11 -> 20 ist und die ungerade Zahlen case 11...20 where option % 2 == 1: print("Case 11...20 and odd") default: print("Nothing to do...") } }
Das Beispiel

Fallthrought:
Wenn Sie mit den anderen Sprache wie Java, C# arbeitet haben, können Sie den Unterschied vom Syntax der Benutzung switch im Swift finden. Im Swift jede wenn ein Fall (case) richtig ist, wird das Befehlblock durchgeführt und die anderen Situation werden nicht geläuft
Beim Java, C# wenn ein Fall richtig ist, wird das Befehlblock durchgeführt. Und der nächste Befehl case (oder default) führt weiter durch wenn der Befehl break erscheint nicht .
Swift macht automatisch den Befehl break nachdem es den Befehl case durchführt
Swift fügt den Befehl fallthrought ein (Der Befehl liegt im Java, C# nicht). fallthrought sagt dem Programm die weitere Durchführung des nächsten Befehl case (oder der Befehl default)
Sehen Sie ein Beispiel zur Illustration

SwitchFallthroughExample.swift
import Foundation func switchFallthroughExample() { var option = 15 switch (option) { case 0...10: print("Case 0...10") // fallthrough: Die nächste Situation implementieren. fallthrough case 11...20: print("Case 11...20") // fallthrough: Die nächste Situation implementieren. fallthrough case 21...30: print("Case 21...30") // fallthrough: Die nächste Situation implementieren. fallthrough case 31...40: print("Case 31...40") case 41...50: print("Case 41...50") default: print("Default case") } }
Das Beispiel durchführen

Die Schleife wird benutzt um ein Befehlsblock zu wiederholen. Es macht Ihr Programm einen Befehl mehrmals wiederholen. Das ist eine grundlegende Aufgabe in der Programmierung
Swift unterstützt 4 unterschiedlichen Schleife
- FOR .. IN
- FOR
- WHILE
- REPEAT WHILE
Die Schleife for .. in um eine Kollektion oder ein Array zu browsen
Die Syntax
// <element>: Das Element // <collection>: Die Kollektion for <element> in <collection> { // Hier etwas machen. }
Das Beispiel unten benutzt for .. in um ein Array zu browsen (Der Begriff Array wird in den nächsten Teil gemeint).
ForInExample1.swift
import Foundation func forInExample1() { // Ein Array von String mit 5 Elemente erklären var languages:[String] = ["Java","C#", "C/C++", "Swift", "Ruby"] for lang in languages { print("Language " + lang) } }
Das Beispiel durchführen

Die Syntax der Schleife FOR:
// initialize variable: eine Variable initializieren. // condition: Die Bedingung. // updates new value for variable: Die Wert für Variable aktuellisieren. for (initialize variable ; condition ; updates new value for variable ) { // Das Befehl implementieren wenn die Bedingung ist richtig (true). }
Zum Beispiel
// Zum Beispiel 1: // Eine Variable x erstellen und die Wert 0 übertragen // Die Prüfungsbedinung ist x < 5 // Wenn x < 5 richtig ist, wird das Befehl implementiert. // Nach jeder Iteration wird die Wert von x in 1 erhöhen. for (int x = 0; x < 5 ; x = x + 1) { // Hier etwas machen wenn x < 5 richtig ist (true). } // Zum Beispiel 2: // Eine Variable x erstellen und die Wert 2 übertragen // Die Prüfungsbedingung ist x < 15 // Wenn x < 15 richtig ist, wird das Befehl implementiert // Nach jeder Iteration wird die Wert von x in 3 erhöhen for (int x = 2; x < 15 ; x = x + 3) { // Hier etwas machen wenn x < 15 richtig ist (true). }
ForLoopExample.swift
import Foundation func forLoopExample() { print("For loop example"); // Eine Variable x erklären und die Wert 2 übertragen. // Die Bedingung ist x < 15 // Wenn x < 15 richtig (true) ist, wird das Befehl durchgeführt // Nach jeder Interation wird die Wert von x in 3 erhöhen. for (var x = 2; x < 15; x = x + 3) { print( ); print("Value of x = \(x)"); } }
Das Ergebnis der Durchführung des Beispiel

Die Syntax
// condition: Die Bedingung while (condition) { // Wenn 'condition' richtig ist, wird das Befehl durchgeführt }
Zum Beispiel
// Eine Variable x erklären. int x = 2; while ( x < 10) { // Hier etwas machen wenn x < 10 richtig ist. ... // Die neue Wert für die Variable x aktualisieren x = x + 3; }
WhileLoopExample.swift
import Foundation func whileLoopExample() { print("While loop example"); // Eine Variable erklären und die Wert 2 übertragen. var x = 2; // Die Bedingune ist x < 10 // Wenn x < 10 richtig (true) ist, das Befehl durchführen while (x < 10) { print("Value of x = \(x)"); x = x + 3; } }
Das Ergebnis der Durchführung des Beispiel

Die Syntax der Schleife REPEAT-WHILE
// Die Eigenschaft von der Schleife 'repeat-while' // ist die mindesten einmal Durchführung des Befehl. // Jede Durchführung des Befehl prüft sie die Bedingung. repeat { // Hier etwas machen // Danach prüft sie die Bedingung, ob das Befehl weiter durchgeführt wird oder nicht } while (condition)
RepeatWhileExample.swift
import Foundation func repeatWhileExample() { print("Repeat-While loop example") // Eine Variable erklären und die Wert 2 übertragen. var x = 2 // Das Befehl mindesten einmal durchführen // Nach jeder Durchführung des Befehl prüft es die Bedingung. // Wenn die Bedingung richtig ist, wird das Befehl weiter implementieren repeat { print("Value of x = \(x)") x = x + 3; } while (x < 10) }
Das Ergebnis der Durchführung des Beispiel

break ist ein Befehl, der in einer Befehlblock der Schleife liegen kann. Das ist der Befehl zum Ende einer Schleife bedingunglos

LoopBreakExample.swift
import Foundation func loopBreakExample() { print("Break example"); // Eine Variable erklären und die Wert 2 übertragen. var x = 2; while (x < 15) { print("----------------------"); print("x = \(x)"); // Wenn x = 5 ist, die Schleife austreten. if (x == 5) { break; } // Die Wert von x in 1 erhöhen x = x + 1; print("After +1, x = \(x)"); } }
Das Ergebnis der Durchführung des Beispiel:

continue ist ein Befehl (statement), der in einer Schleife sein können. Beim Treffen des Befehl continue ignoriert das Programm die Befehlen unter continue und startet eine neue Schleife

LoopContinueExample.swift
import Foundation func loopContinueExample() { print("Continue example") // Eine Variable erklären und die Wert 2 übertragen. var x = 2 while (x < 7) { print("----------------------") print("x = \(x)") // Der Operator % ist die Devision um die Rest aufzunehmen // Wenn x gerade ist, die Befehl unter 'continue' ignorieren // und die nächste Schleife beginnen (wenn die Bedingung richtig ist) if (x % 2 == 0) { // Die Wert von x in 1 erhöhen x = x + 1 continue } else { // Die Wert von x in 1 erhöhen x = x + 1 } print("After +1, x = \(x)") } }
Das Ergebnis der Durchführung des Beispiel

Das Array vom Swift ist wesentlich ein Struct. Es unterscheidet sich mit dem Array in der anderen Sprache wie Java, C#,...Das Array vom Java, C# hat die bestimmten Anzahl der Elemente und kann die Element nicht hinzufügen oder löschen, das kann das Array vom Swift inzwischen machen
Das ist eine IIlustration über ein einseitiges Array mit 5 Elemente. Die Elemente werden die Index von 0 bis 4 markiert

Die Syntax zur Meldung eines einseitigen Arrays
// Die Option 1: // Ein Array von Int Zahlen erklären und die Elemente bestimmen. var years: [Int] = [ 2001, 2003, 2005, 1980, 2003 ]; // Oder (Swift versteht selbst, das ist ein Array von Int Zahlen). var years = [ 2001, 2003, 2005, 1980, 2003 ]; // Die Option 2: // Ein Array von Float Zahlen erklären // 3 Elemente und die Elemente hat die Wert von 0. var salaries:[Float] = [Float](count: 3,repeatedValue :0 ); // Oder var salaries = [Float](count: 3,repeatedValue :0 ); // Die Option 3: // Ein leeres Array erklären (ohne Elemente). var emptyArray:[Int] = [Int]()
Zum Beispiel
ArrayExample1.swift
import Foundation func arrayExample1() { // Die Option 1 // Ein Array von Int Zahlen erklären, die Elemente bestimmen var years: [Int] = [ 2001, 2003, 2005, 1980, 2003 ]; print("--- years --- "); // count ist ein property eines Array. Es gibt die Elemente des Array zurück. print("Element count of array years = \(years.count)"); // Die Schleife for benutzen um die Elemente des Array auszudrucken. for (var i = 0; i < years.count; i = i + 1) { print("Element at \(i) = \(years[i])"); } print("--- salaries --- "); // Die Option 2: // Ein Array von Float Zahlen erklären // 3 Elemente, und alle Elemente haben die Wert von 0. var salaries:[Float] = [Float](count: 3,repeatedValue :0 ); // Die Wert für die Elemente übertragen. salaries[0] = 1000; salaries[1] = 1200; salaries[2] = 1100; // Die Schleife for benutzen um die Elemente des Array auszudrucken. for (var i = 0; i < salaries.count; i = i + 1) { print("Element at \(i) = \(salaries[i])"); } }
Das Ergebnis der Durchführung des Beispiel

Das Array vom Swift ist ein Struct
Im Swift ist ein Array wesentlich ein Struct (die Struktur). Deshalb hat es die Attribute und die Methode, einschließend die Methode zum Hinzufügen oder Erlösung der Elemente in das Array
// Ein Array von String erklären, 2 Elemente. var languages = ["Java","C#"] // Die Methode append() benutzen um ein Element am Ende des Array einzufügen. languages.append("Swift") // Den Operator += benutzen um ein Array am Ende des momentanen Array einzufügen languages += ["C/C++", "Perl"];
Zum Beispiel
ExpaddingArrayExample.swift
import Foundation func expaddingArrayExample() { // Ein Array von String erklären, 2 Elemente. var languages = ["Java","C#"] // Die Methode append() benutzen um ein Element am Ende einzufügen. languages.append("Swift") // Den Operator += benutzen um ein Array am Ende einzufügen. languages += ["C/C++", "Perl"]; // Die Schleife for-in benutzen. for lang in languages { print("Language: " + lang) } }
Das Beispiel durchführen

enumerate
Die Methode enumerate() vom Array gibt das Objekt vom EnumerateSequence struct rück. Jedes Element vom EnumerateSequence enthaltet die Index-Information und Elemente des ersten Arrays
Über Struct bei ... mehr sehen
Zum Beispiel: Die Elemente eines Array durchsehen
EnumerateArrayExample.swift
import Foundation import Cocoa func enumerateArrayExample() { // Ein Array vom String mit 3 Elemente erklären var languages :[String] = ["Java", "C#", "Swift"] for (index, element ) in languages.enumerate() { print("Element at \(index) = \(element)"); } }
Das Beispiel durchführen
