Seriály

Swift akademie pro začátečníky: podmínky a switche #4

V minulém díle jsme se naučili operátory. Neměli jsme však možnost si ukázat jejich plné využití. V dnešním díle si tedy představíme další velkou část Swiftu, kterou jsou podmínky. 

Co jsou to vlastně podmínky? 

Jak vysvětlil Bill Gates v tomto videu, každý z nás používá podmínky každý den. Pokud prší tak si vezmu deštník. Rovnou si tedy můžeme na tomto příkladu ukázat, jak takovou podmínku napíšeme v kódu.

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Vysvětlíme si tyto řádky jednu po druhé:

Řádkou 3 si vytvoříme konstantu budeDnesPršet

Řádkou 5 si vytvoříme podmínku (v angličtině if statement), pokud se konstanta budeDnesPršet rovná true, všechen kód co napíšeme mezí { } se spustí 

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

else

Možná si říkáte, a co když hodnota konstanty budeDnesPršet bude false?

Když hodnota bude false, kód mezi dvěma { } se nespustí. Output bude prázdný. 

K tomuto se používá else. Opět si ukážeme si příklad:

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Pokud podmínka u slova if nebude pravdivá, Swift přeskočí první kód a rovnou spustí druhý

Podmínky můžeme také vrstvit. Uvedeme si příklad: 

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Tento kód by měl být sám o sobě pochopitelný. První podmínka v sobě má druhou podmínku, která v sobě má třetí podmínku a tak dále. Pokud všechny podmínky budou pravdivé. V outputu se nám zobrazí text Páté číslo je větší než všechny ostatní. 

Pokud jedna z podmínek nebude pravdivá v outputu se nám nezobrazí nic. Kdybychom to chtěli opravit, stačí jen implementovat else bloky.

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Po implementaci else bloků už output nikdy nebude prázdný.

Kombinování podmínek

Kombinováním podmínek se můžeme zeptat na dvě nebo více podmínek v jedné řádce.

K tomu použijeme dva nové operátory: 

|| – nebo

&& – a

Uděláme si příklad:

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Operátor && spustí kód v { } jen pokud, že obě podmínky vyjdou true. Kdyby třeba konstanta vek1 byla menší než 18 kód se nespustí. 

Druhý příklad:

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Operátor || spustí kód v { } jen pokud, že alespoň jedna z podmínek vyjde true. Kdyby třeba konstanta vek1 byla menší než 18 kód se i tak spustí. 

Switch

Switche jsou podobné podmínkám a někomu přijdou i lehčí. Pozor, podmínky nelze zcela nahradit prostřednictvím switch! Opět si vytvoříme příklad a vysvětlíme, jak je vytvořit: 

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Právě vidíme hodně nového kódu. Vše si vysvětlíme.

Vytvoříme si konstantu pocasi s hodnotou Slunečno

Poté si vytvoříme switch do kterého přidáme možné případy pomocí slova case. Na rozdíl od podmínek Switch musí vždy něco vrátit, k tomu nám pomáhá slovo default. Pokud žádná z case nebude odpovídat naší konstantě, proběhne kód v bloku default. 

Range operátor + Switch

Ve Switch se často používá nový logický operátor, který jsme si ještě nepředstavili.

Range operátorem určujeme rozmezí čísel. Znovu si ukážeme příklad:

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Range operátor není komplikovaný. Jednoduše si určíme rozmezí pomocí tří teček. Také existuje syntaxe 1..<4. To znamená, že rozmezí od čísla 1 až do čísla menšího než 4.

fallthrough

Fallthrough je další funkce, která se používá v kombinaci se Switch. Switch vždy spustí jen jeden uvedený kód. Pokud chceme, aby se spustily dva nebo více kódů, musíme na poslední řádek našeho kódu napsat slovo fallthrough. Uděláme si příklad:

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)
Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Fallthrough můžeme ve switch použít kolikrát chceme. Kdybychom fallthrough napsali na konec každého case, spustí se všechny řádky kódu.

Shrnutí 

  1. Podmínky se vytváří pomocí slova if
  2. Slovo else nám napomáhá k určení co se má stát, když podmínka nebude pravdivá
  3. Pokud použijeme operátor || ke spuštění kódu stačí, aby jen jedná z podmínek byla pravdivá.
  4. Pokud použijeme operátor && ke spuštění kódu je potřeba, aby všechny zadané podmínky byly pravdivé. 
  5. Switch vždy musí mít alespoň nějaký výsledek. Výchozí výsledek určíme pomocí slova default
  6. Range operátory vyjadřují rozmezí a to pomoci dvou syntaxí. a ..<
  7. Slovo fallthrough použijeme v případě, že chceme aby se spustilo více bloků kódu v našem Swich.

Právě jste úspěšně dokončili další díl našeho seriálou – gratuluji! V příštím díle si vysvětlíme funkce. Programování není lehké, kdybyste si s něčím nebyli jisti, nebo jste si nevěděli rady, rád vám na vaše dotazy odpovím v diskuzi.

Štítky

Matyáš Himmer

Fanoušek Applu od roku 2011, rád fotím a programuji. Články píši ve svém volném čase, studuji informační technologie na SSPŠ.

2 Komentáře

  1. Zdravím Matyáši,

    musím vás pochválit. Úvod do swiftu je skvěle popsán, žádné zbytečnosti. Jsem zvědavý, kam až seriál dojde? 🙂
    Dostaneme se i na vytvoření jednoduché appky a nahrání na appstore?

    PS: obrázek vrstvení konstanta let cislo5 = 2, mělo by tam být 5.

    Těším se na další díl 🙂

    Petr.

    1. Zdravím Petře,

      jsem rád, že Vás seriál baví a máte o něj zájem. K tvorbě aplikací se časem můžeme dostat, ale abyste mohl aplikaci nahrát na App Store, musíte si koupit Apple Developer Program, který stojí 100$. Pokud by se vám za něj nechtělo platit, je možnost, si vaši aplikaci zdarma nahrát do vašeho zařízení.

      Kdybyste měl jakékoliv další dotazy, neváhejte se zeptat. 🙂
      Přeji hezký den

      Matyáš Himmer

      Matyáš Himmer

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.

Close
Close