let val = (Double)6
Referenz: The Swift Programming Language: Sprachführer: Die Grundlagen: Konstanten und Variablen
let x = 5
guard x == 5 { return }
guard
fehlt das else
guard
fehlt ein then
Referenz: The Swift Programming Language: Sprachführer: Kontrollfluss: Früher Ausstieg
enum Direction {
case north, south, east, west
}
String
Any
Int
Referenz: The Swift Programming Language: Sprachführer: Aufzählungen: Rohwerte
Referenz: Apple Developer: Dokumentation: Dispatch: Dispatch-Gruppe
let val = 5
print("Wert ist: \(val)")
Referenz: The Swift Programming Language: Sprachführer: Zeichenketten und Zeichen: Zeichenketteninterpolation
vals
, nachdem dieser Code ausgeführt wurde?var vals = [10, 2]
vals.sort { (s1, s2) -> Bool in
s1 > s2
}
[10, 2]
[2, 10]
nil
Referenz: Apple Developer: Dokumentationen: Swift: Array: sort()
typealias Thing = [String: Any]
var stuff: Thing
print(type(of: stuff))
Dictionary<String, Any>
Dictionary
Error
Thing
Referenz: The Swift Programming Language: Sprachreferenz: Typen: Typbezeichner
let x = ["1", "2"].dropFirst()
let y = x[0]
1
2
nil
Erklärung
dropFirst()
von Swift.Collection.Array
gibt einen Typ von ArraySlice<Element>
zurück.
Wie auf den Dokumentationsseiten angegeben:
@inlinable public func dropFirst(_ k: Int = 1) -> ArraySlice<Element>
Der ArraySlice-Typ ermöglicht es Ihnen, schnell und effizient Operationen auf Abschnitten eines größeren Arrays durchzuführen. Anstatt die Elemente eines Ausschnitts in einen neuen Speicher zu kopieren, präsentiert eine ArraySlice-Instanz eine Ansicht auf den Speicher eines größeren Arrays. Und weil ArraySlice dieselbe Schnittstelle wie Array präsentiert, können Sie im Allgemeinen dieselben Operationen auf einem Ausschnitt ausführen wie auf dem ursprünglichen Array.
Slices behalten Indizes bei
Anders als Array und ContiguousArray ist der Startindex für eine ArraySlice-Instanz nicht immer Null. Slices behalten die gleichen Indizes des größeren Arrays für dieselben Elemente bei, sodass der Startindex eines Ausschnitts davon abhängt, wie er erstellt wurde, und es Ihnen ermöglicht, indexbasierte Operationen entweder auf einem vollständigen Array oder einem Ausschnitt auszuführen.
Der obige Code gibt einen Ausschnitt des Werts ["2"]
zurück, aber der Index hat sich nicht geändert. let y = x[1]
würde das erwartete Ergebnis liefern.
Um sicher auf die Start- und Endindizes eines Ausschnitts zu verweisen, verwenden Sie immer die Eigenschaften startIndex und endIndex anstelle spezifischer Werte.
Referenz
var test = 1 == 1
true
JA
1
Referenz: The Swift Programming Language: Sprachführer: Grundlegende Operatoren: Vergleichsoperatoren
var x: Int?
let y = x ?? 5
5
0
nil
Referenz: The Swift Programming Language: Sprachführer: Grundlegende Operatoren: Nil-Coalescing-Operatoren
func add(a: Int, b: Int) -> Int { return a+b }
Int
, Int) -> Int`
Int<Optional>
Referenz: The Swift Programming Language: Sprachführer: Funktionen: Funktionsarten
func myFunc(_ a: Int, b: Int) -> Int {
return a + b
}
myFunc(5, b: 6)
myFunc(5, 6)
myFunc(a: 5, b: 6)
myFunc(a, b)
Encodable
und Decodable
Referenzen:
let value1 = "\("test".count)"
String
Int
null
test.count
Referenz: The Swift Programming Language: Sprachführer: Zeichenketten und Zeichen: Zeichenketteninterpolation
Referenz: The Swift Programming Language: Sprachführer: Closures: Entkommende Closures
class Person {
var name: String
var address: String
}
var name
ist nicht korrekt formatiert. address
ist ein Schlüsselwort. Referenz: The Swift Programming Language: Sprachführer: Initialisierung: Klassenvererbung und Initialisierung
let names = ["Bear", "Joe", "Clark"]
names.map { (s) -> String in
return s.uppercased()
}
["BEAR", "JOE", "CLARK"]
["B", "J", "C"]
["Bear", "Joe", "Clark"]
let val = 5
Int
item
Number
Int
Referenz: The Swift Programming Language: Sprachführer: Die Grundlagen: Typsicherheit und Typinferenz
extension String {
var firstLetter: Character = "c" {
didSet {
print("neuer Wert")
}
}
}
didSet
nimmt einen Parameter. c
ist kein Zeichen. Referenz: The Swift Programming Language: Sprachführer: Erweiterungen: Berechnete Eigenschaften
neuAlt
Wertaufrufe Referenz: The Swift Programming Language: Sprachführer: Eigenschaften