Beste Antwort
Sie können guard
nicht immer verwenden, da dies ein vorzeitiges Beenden erfordert. Es gibt kein negiertes if let
-Konstrukt, aber Ihr Code-Snippet zeigt nicht wirklich den interessanten Fall, in dem es am meisten übersehen wird.
Wenn Ihr Code wirklich nicht benötigt wird date
Nach dem if
müssen Sie if let
nicht verwenden. Testen Sie einfach Wenn der Ausdruck nil
ist (Hinweis: Code aus Gründen der Relevanz und Kürze auf Swift3-ish-Syntax vereinfacht):
if UserDefaults.standard.objectForKey("first\_launch\_date") == nil {
UserDefaults.standard.set(date, forKey: "first\_launch\_date")
}
Angenommen, Ihr Code möchte Um date
nach if
zu verwenden (andernfalls warum sollten Sie ihm einen Namen geben), benötigen Sie etwas Unangenehmeres, was endet Immerhin mit etwas im Fall if
:
let date: Date
if let existingDate = UserDefaults.standard.objectForKey("first\_launch\_date") {
date = existingDate
} else {
date = Date()
UserDefaults.standard.set(date, forKey: "first\_launch\_date")
}
Der Fall, der wirklich enttäuscht Ich bin jedoch bei der Verwendung von if let
in einer Kette von else if
. Oft (fast die Hälfte der Zeit?) Möchte die Logik der Bedingungskette auf eine Reihe von Negativen testen, wobei der andere Fall die einzige positive Bedingung ist. Wenn jedoch eine der Bedingungen ein if let
erfordert, müssen Sie die Logik als Test für positiv ausdrücken, wobei der andere Fall der negative ist.
Beispiel im Pseudocode:
if error {
failure
} else if unexpected-format {
failure
} else if parse-failed {
failure
} else if result is a {
handle result a
} else {
handle result b
}
Wenn Sie dies schnell implementieren möchten, müssen Sie während des Parsing-Tests eine Option wie if let result = parse()
auspacken. Wir müssen die Logik von Fail-Fail-Erfolg zu Fail-Success-Fail verzerren. Beispiel mit einem schnelleren Pseudocode:
if error {
failure
} else if unexpected-format {
failure
} else if let result = parse() {
if result is a {
handle result a
} else {
handle result b
}
} else {
failure
}
Yuck. Möglicherweise würde eine if not let
die ursprüngliche Logik zulassen:
if error {
failure
} else if unexpected-format {
failure
} else if not let result = parse() {
failure // unlike if let, result not available to this code block
} else if result is a { // however it would be to everything after
handle result a
} else {
handle result b
}
Jemand sollte einen Vorschlag für eine schnelle Entwicklung schreiben.
Antwort
- Melden Sie sich für ein kostenloses Apple Developer-Konto an
- Ab heute (4. Juni 2016) verstehen Es gibt keine Tutorials für Swift 3.0, da es veröffentlicht wird nächste Woche auf der WWDC. Es wird mindestens 3 Monate dauern, bis die Autoren neue Bücher und Tutorials für Swift 3.0 fertig haben. Die Ausnahme wird Erica Sadun sein, die sehr fleißig und proaktiv ist, um ihre Bücher auf die neueste Version von Swift zu bringen.
- {Neu} Ab heute (13. Juni 2016) hat Apple Playgrounds für das iPAD angekündigt, die Anfängern eine sehr gute Möglichkeit bieten, Swift zu lernen. AUCH Apple hat ein neues eBook mit dem Namen \_App Development with Swift\_ herausgebracht, das eine weitere gute Ressource für Anfänger ist.
- Vermeiden Sie alles in Swift 1.0 und halten Sie sich von den meisten fern Informationen zu 2.0 und 2.1 und versuchen Sie, Informationen aus Quellen in Version 2.2 von Swift oder besser zu finden. Vermeiden Sie außerdem Materialien mit den neuesten Informationen vor November 2015. Dies wird sich in einigen Monaten ändern, nachdem Swift 3.0 verfügbarer ist. Es gibt einige wichtige Änderungen in der Syntax und in der Bibliothek, und es kann schwierig sein, Tutorials zu befolgen, die in älteren Versionen geschrieben wurden.
- Beziehen Sie eine Kopie der Swift-Handbücher von Apple von iBooks. Dies sollten die ersten sein, die mit Swift 3.0 auf dem neuesten Stand sind.
- Durchsuchen Sie diese Handbücher
- Wenn Sie zuvor in anderen Sprachen programmiert haben, achten Sie weiter auf die Swift-spezifischen Konstrukte wie Apple und Drittanbieter Softwarebeispiele werden sie wahrscheinlich verwenden.
- Aufzählungen
- optionale
- Fehlerprüfung
- Abschlüsse (Syntax und Konkretisierung können schwer zu verstehen sein)
- Strukturen vs. Klassen vs. Protokolle vs. Aufzählungen
- protokollorientiertes Design
- Referenzzählung
- Zeichenfolgen
- Generika
- Swift-Bibliothek
- Funktionsaspekte der Sprache (im Zusammenhang mit Schließungen und der Bibliothek)
- Durchsuchen und / oder kaufen Sie 1–2 eBooks (oder physische Bücher) bei Swift. Es gibt mehrere gute Bücher.
- Es gibt viel mehr Informationen und Tutorials, die davon ausgehen, dass Sie iOS gegen Mac OS programmieren werden.
- Bestimmen Sie, ob Sie mehr an Spielen oder Produktivität interessiert sind und konzentrieren Sie sich mehr auf eine davon. Es gibt mehrere Bücher und Tutorials, die für die Entwicklung von Spielen geschrieben wurden. In gewisser Weise sind Spiele meiner Meinung nach einfacher zu erlernen.
- Wenn Sie noch nie Apple-Anwendungen geschrieben haben, ist mein Vorschlag, Swift zu lernen, ohne sich Sorgen zu machen viel über Objective-C. Haftungsausschluss: Ich mag Objective-C nicht. Wenn Sie Legacy-Code in Objective-C haben, lernen Sie auf jeden Fall, wie Sie Objective-C und Swift überbrücken und miteinander verwenden. Die Swift-Tutorials bieten die Grundlage für das, was Sie wissen müssen, und Sie können sich dem nicht vollständig entziehen, da viele / die meisten Kakaobibliotheken / Frameworks alle in Objective-C geschrieben sind.
- Wenn Sie eine Kreditkarte haben oder Pay Pal, melden Sie sich bei Lynda an. com für einen Monat kostenlos und schauen Sie sich alle Videos von Simon Allardice und anderen auf Swift an (und allgemeine Programmierkonzepte, wenn Sie das auch brauchen).
- Machen Sie dasselbe unter Pluralsight. com .
- Durchsuchen Sie die Apple Deve-Website nach allen Referenzdokumenten und wie Sie über x-Code darauf zugreifen. Hoffentlich haben Sie X-Code schon einmal verwendet. Wenn nicht, sollten die Tutorials genügend Informationen enthalten, um Sie zum Laufen zu bringen. Dies ist wichtig.
- Gehen Sie zu RayWenderlich. com und schauen Sie sich alle Swift-Videos und eBooks an, die Sie können. Um alle Bücher zu sehen, können Sie sich dort anmelden und / oder die Materialien kaufen. Stellen Sie sicher, dass Sie gut ausgeruht sind, und führen Sie die Tutorials selbst aus. . Dies ist der Schlüssel.
- Sehen Sie sich die vergangenen Apple WWDC-Videos auf Swift an. Lesen Sie die Apple Swift-Handbücher genauer durch.
- Versuchen Sie, Ihre eigene Anwendung zu schreiben. Dies zeigt, wo Sie Orte haben, die Sie überprüfen oder besser lernen müssen.
- Folgen Sie dem iTunes University / Stanford-Kurs zur iOS-Entwicklung in Swift. Sehen Sie, ob Sie mithalten können. Dies ist kein Kurs für Anfänger, der dem widerspricht, was andere Ihnen sagen werden.
- Ich habe viele, viele verschiedene Video-Tutorials auf Youtube gesehen. Für mich ist das einzig Gute an ihnen größtenteils, dass sie frei sind. Wenn Sie sie mit den zuvor aufgeführten Tutorials vergleichen, werden Sie sich fragen, warum Sie Ihre Zeit mit ihnen verschwendet haben. Es gibt Ausnahmen, aber Sie werden viel Zeit damit verbringen, sie zu durchsuchen. Ich schätze, dass die Leute ihre eigenen Videos erstellen wollen. Ich habe es sogar einmal versucht. Ich weiß also, wie viel Energie die Profis investiert haben, um die Dinge klar und verständlich zu machen.
- Nachdem Sie das kostenlose Youtube-Material aufgelöst haben, schauen Sie sich einige dieser Videos an und prüfen Sie, ob sie dazu beitragen, fehlende Informationen einzugeben oder nicht . Es ist gut, alternative Perspektiven zu haben.
- Abonnieren Sie Swift-Online-Newsletter. RayWenderlich hat eine gute Liste für den Anfang.
- Lesen Sie einige meiner und anderer Beiträge zu diesem Thema. Möglicherweise müssen Sie herausfinden, wie Fragen / Antworten zusammengeführt werden.