Swift Academy · Lekcja

Wiązanie if let i guard let

Bezpiecznie rozwijać opcjonały za pomocą wzorców wiązania warunkowego i kończącego wykonanie

Lekcja 1 z 412 kroki

Wiązanie if let i guard let to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Swift Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Swift Academy zawiera 4 lekcji w sumie.

Wprowadzenie

Opcjonalne wartości reprezentują wartości, które mogą istnieć, ale nie muszą. Bezpieczne rozpakowywanie za pomocą `if let` i `guard let` jest podstawą kodu Swift odpornego na awarie.

Czym jest Optional?

```swift var name: String? = "Alice" // has a value var age: Int? = nil // no value ``` Optional opakowuje wartość jako `.some(value)` albo `.none`. Przed użyciem trzeba ją rozpakować.

if let — wiązanie warunkowe

```swift if let name = name { print("Hello, \(name)!") // name is String here } else { print("No name provided") } ``` Wewnątrz bloku `if` zmienna `name` ma nieopcjonalny typ `String`.

if let z tą samą nazwą (Swift 5.7+)

Od wersji Swift 5.7 można ponownie używać tej samej nazwy zmiennej: ```swift if let name { print("Hello, \(name)!") } ``` To krótsze i czytelniejsze rozwiązanie — nie trzeba zapisywać `let name = name`.

guard let — wczesne wyjście

`guard let` rozpakowuje wartość i kończy działanie wcześniej, jeśli jest ona równa nil: ```swift func greet(_ name: String?) { guard let name else { return } print("Hello, \(name)!") } ``` Po instrukcji `guard` jest zagwarantowane, że `name` nie ma wartości nil przez resztę funkcji.

Łączenie wielu wiązań

Rozpakuj wiele opcjonalnych wartości w jednej instrukcji: ```swift if let first = firstName, let last = lastName { print("\(first) \(last)") } guard let id = userId, let token = authToken else { return } ``` Wszystkie wiązania muszą się powieść, aby wykonało się ciało instrukcji.

Dodawanie warunku where

Połącz rozpakowywanie z warunkiem: ```swift if let score = rawScore, score >= 60 { print("Passed with \(score)") } ``` Wiązanie i warunek są oceniane razem — to czytelniejsze niż zagnieżdżona instrukcja `if`.

guard let a if let

Użyj `if let`, gdy obie gałęzie potrzebują tej wartości. Użyj `guard let`, aby sprawdzić warunki wstępne i zakończyć działanie wcześniej: ```swift // if let: handle both cases if let data = response.data { process(data) } else { showError() } // guard: ensure requirements are met guard let data = response.data else { showError(); return } process(data) ```

Zagnieżdżone if let a guard

Głęboko zagnieżdżone `if let` („piramida zagłady”) jest trudniejsze do odczytania: ```swift if let a = aOpt { if let b = bOpt { if let c = cOpt { process(a, b, c) } } } ``` Zrefaktoryzuj kod za pomocą `guard`: ```swift guard let a = aOpt, let b = bOpt, let c = cOpt else { return } process(a, b, c) ```

Sprawdzanie bez wiązania

Użyj `!= nil`, gdy trzeba tylko sprawdzić, czy wartość istnieje: ```swift if token != nil { showLoggedInUI() } ``` Jeśli potrzebujesz również rozpakowanej wartości, preferuj jednak `if let`.

Szybkie sprawdzenie

Która instrukcja opuszcza bieżący zakres, jeśli opcjonalna wartość to `nil`?

Podsumowanie

Najważniejsze informacje: • `if let x = optional` — bezpieczne przejście do kontekstu, w którym wartość nie jest nil • `guard let x = optional else { return }` — szybkie zakończenie działania w przypadku niepowodzenia • Łącz wiele wiązań za pomocą przecinków • `guard let` pozwala uniknąć głęboko zagnieżdżonych piramid • Swift 5.7+: `if let x` (skrócona forma z tą samą nazwą) Następnie: operator łączenia z nil i operator ??.
Bezpłatny start

Ucz się Swift dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
122
Lekcje
409

Często zadawane pytania

Czy lekcja „Wiązanie if let i guard let” jest bezpłatna?

Tak — pełny tekst „Wiązanie if let i guard let” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Swift Academy, przejdź na CoddyKit PRO. Kurs Swift Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Wiązanie if let i guard let”?

Bezpiecznie rozwijać opcjonały za pomocą wzorców wiązania warunkowego i kończącego wykonanie Ćwiczysz Swift Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Swift Academy?

Nie wymagamy żadnego doświadczenia. Swift Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Wiązanie if let i guard let”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Swift Academy?

Tak. Każda lekcja Swift Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Wiązanie if let i guard let
  2. Nil-coalescing i operator trójargumentowy z opcjonałami
  3. Operator optional chaining ?.
  4. Opcjonały rozwijane niejawnie i sytuacje, w których należy ich unikać
← Powrót do Swift Academy