Voit itse lisätä ja muuttaa sisältöä muokkaa-painikkeiden avulla

Ennen tallennusta suositellaan ottamaan kopio muokkausruudusta (ctrl-a -> ctrl-c)

 Olet itse vastuussa tämän teoksen käytöstä aiheutuvista vahingoista Lue lisää.

Ero sivun ”Swift” versioiden välillä

Wikikko - kansan taitopankkista
Siirry navigaatioon Siirry hakuun
Rivi 27: Rivi 27:
  struct EsitysView:  View {  
  struct EsitysView:  View {  
     var body: some View { // body on property
     var body: some View { // body on property
         Text("Tekstiä") // teksti-näkymä (view)
        Image("KuvanNimi") // kuvanäkymä (view), kuvainstannsi
            .resizable() // modifier
            .scaledToFit()
         Text("Tekstiä") // tekstinäkymä (view)
     }
     }
  }
  }
Rivi 47: Rivi 50:
* '''Instance''' (instanssi) on tyypin määrätty arvo. Esimerkiksi let romuta = RomutaAuto() jossa 'romuta' on tyypin 'RomutaAuto' instanssi.  
* '''Instance''' (instanssi) on tyypin määrätty arvo. Esimerkiksi let romuta = RomutaAuto() jossa 'romuta' on tyypin 'RomutaAuto' instanssi.  
* '''Method''' (metodi) on nimetty koodin osa joka suoritetaan kutsumalla. Metodi on funktio, mutta se määritellään tyypin sisällä. Esimerkiksi let auto = Auto() auto.romutaAuto() kutsuu metodia romutaAuto instanssista Auto.
* '''Method''' (metodi) on nimetty koodin osa joka suoritetaan kutsumalla. Metodi on funktio, mutta se määritellään tyypin sisällä. Esimerkiksi let auto = Auto() auto.romutaAuto() kutsuu metodia romutaAuto instanssista Auto.
* '''Modifier''' säätää näkymän (view) ulkoasua ja toimintaa. Esimerkiksi Auto() .foregroundColor(.red) -modifier asettaa auto-näkymän punaiseksi. Jokainen modifier asetetaan omalle rivilleen allekkain ''käyttöjärjesteyksessä'' tai voidaan kirjoittaa peräkkäin.
* '''Parameter''' on arvo jolla muokataan funktion toimintaa. Kutsuttaessa funktiota, sille voidaan lähettää paremetrejä. Esimerkiksi  
* '''Parameter''' on arvo jolla muokataan funktion toimintaa. Kutsuttaessa funktiota, sille voidaan lähettää paremetrejä. Esimerkiksi  
  func romuta(auto: Int {
  func romuta(auto: Int {
Rivi 67: Rivi 71:
* '''user interface UI''' on käyttäjän kontrolloima sovelluksen osa.  
* '''user interface UI''' on käyttäjän kontrolloima sovelluksen osa.  
* '''variable''' (muuttuja) on container, joka varastoi muutettavan arvon. Muuttuja voi sisältää erilaisia tyyppisiä arvoja. Esimerkiksi integers (5, -5), strings (tekstiä), ranges. Esimerkiksi var romutettavaAuto = 5 var romutettavaAuto = "Audi" var alue = 1...10  
* '''variable''' (muuttuja) on container, joka varastoi muutettavan arvon. Muuttuja voi sisältää erilaisia tyyppisiä arvoja. Esimerkiksi integers (5, -5), strings (tekstiä), ranges. Esimerkiksi var romutettavaAuto = 5 var romutettavaAuto = "Audi" var alue = 1...10  
* '''View''' on sovelluksen käyttäjälle näkyvä "rakennuspalikka", esimerkiksi teksti, kuva tai painike. Luodaan uusi määrätyn tyyppinen instanssi. Esimerkiksi Text("Teksti")
* '''View''' on sovelluksen käyttäjälle näkyvä rakennuspalikka, esimerkiksi teksti, kuva tai painike. Luodaan uusi määrätyn tyyppinen instanssi. Esimerkiksi näkymän ulkoasua tai toimintaa voidaan säätää suoraan instansseilla kutsumalla niiden metodeja eli modifiers.
** Text("Teksti")
** Image("KuvanNimi") .resizable() // kuvanäkymä, johon annetaan argumenttina 'KuvanNimi' ja modifier .resizable. Resizable mahdollistaa kuvan koon vaihdon eri suuntiin. .scaledToFit() säätää kuvan ympäröivän tilan kokoiseksi, mutta näyttää koko kuvan. .scaledToFill() täyttää koko ikkunan kokoiseksi, mutta osa kuvasta katoaa.
** 'built-in view' on valmis näkymä kuten painike, teksti.  
** 'built-in view' on valmis näkymä kuten painike, teksti.  
** 'composed view' on näkymä, joka yhdistää yhden tai useampia built-in vies tai composed view.  
** 'composed view' on näkymä, joka yhdistää yhden tai useampia built-in vies tai composed view.  

Versio 23. maaliskuuta 2024 kello 18.30

Johdanto

Ohjeita kielenopiskeluun

Aiheesta myös sivu IOS sovellus.

Perusteet

import SwiftUI

struct EsitysView:  View { 
    var body: some View { // body on property
        Image("KuvanNimi") // kuvanäkymä (view), kuvainstannsi
            .resizable() // modifier
            .scaledToFit()
        Text("Tekstiä") // tekstinäkymä (view)
    }
}

Seuraava tuottaa esikatselun edellisestä:

struct EsitysView_Previews: PreviewProvider {
    static var prewiews: some View {
        Stack {
            EsitysView()
        }
    }
}
  • argument on syötettävä arvo funktiolle sen toiminnan ohjaamiseksi. romuta(auto: 5) tai Text("teksti") jossa testi-muotoinen string syötetään argumenttina Text-funktiolle. Muuttujaa ei välttämättä tarvitse käyttää varastoimaan arvoa, esimerkiksi var romutaNäkymä = Text("Romuta"), vaan arvon voi suoraan syöttää Textille.
  • body on näkymä, jossa sisältö tarjotaan.
  • dot notation on syntaksi, jota käytetään kutsuttaessa properties tai instanssin metodia. Esim. auto.romutaAuto() kutsuu metodia romutaAuto() auto-instanssissa.
  • function (funktio) nimetty koodin osa jota kutsutaan nimellä. Sille voidaan syöttää paremetrejä (paremeters) ja se voi palauttaa tietoa lopetettuaan. Funktio joka on määritelty tyypin sisällä on metodi. Esimerkiksi func romutaAuto() { nostaIlmaan() } jossa funktion nimi on romutaAuto ja sitä kutsutaan romutaAuto() ja se suorittaa yhden kerran tehtävän nostaIlmaan().
  • initialization on toiminto, jossa luodaan uutta määrätyn tyyppistä instanssia, joka sisältää asetelman properties.
  • Instance (instanssi) on tyypin määrätty arvo. Esimerkiksi let romuta = RomutaAuto() jossa 'romuta' on tyypin 'RomutaAuto' instanssi.
  • Method (metodi) on nimetty koodin osa joka suoritetaan kutsumalla. Metodi on funktio, mutta se määritellään tyypin sisällä. Esimerkiksi let auto = Auto() auto.romutaAuto() kutsuu metodia romutaAuto instanssista Auto.
  • Modifier säätää näkymän (view) ulkoasua ja toimintaa. Esimerkiksi Auto() .foregroundColor(.red) -modifier asettaa auto-näkymän punaiseksi. Jokainen modifier asetetaan omalle rivilleen allekkain käyttöjärjesteyksessä tai voidaan kirjoittaa peräkkäin.
  • Parameter on arvo jolla muokataan funktion toimintaa. Kutsuttaessa funktiota, sille voidaan lähettää paremetrejä. Esimerkiksi
func romuta(auto: Int {
    for i in 1...auto {
        nostaAuto()
    }
}
  • Property on tyypin sisällä määritelty muuttuja (variable). Nimetty sisältö, joka säilöö arvon. Propertyyn voidaan päästä instanssilla (instance), joka käyttää pistenotaatiota. Esimerkiksi auto.onRomuttamoHalli jossa onRomuttamoHalli on auto-tyypin property.
  • Protocol on joukko requiremets, kuten methods ja properties, joita voidaan adoptoida tai seurata tyypillä kuten luokka (class), structure, enumeration. Kun tyyppi adoptoi protokollan, tyyppi tarjoaa sen oman protokollavaatimusten implementaation eli conform protokollaan.
  • Range
    • 'lower/upper bound' aloitus/lopetusarvio otetaan huomioon. Esimerkiksi var asetettuAlue = 1...5
    • 'closed range'. Esimerkiksi var asetettuAlue = 1...5
    • half open range'. Esimerkiksi var asetettuAlue = 1..<5
let asetettuAlue = 1...5
for I in asetettuAlue {
     print(i) // tulostaa 1 2 3 4 5
}
  • String on tekstiä.
  • Type (tyyppi) on nimetty ryhmä ominaisuuksia (property, features) ja metodeja (methods, behaviors). Tyypillä luodaan ryhmiä toisiinsa liittyviä toimintoa, joita on helppo kutsua. Esimerkiksi struct Auto { var nimi : String func romutetaanteksti() { print("Romutetaan auto") } }
  • user interface UI on käyttäjän kontrolloima sovelluksen osa.
  • variable (muuttuja) on container, joka varastoi muutettavan arvon. Muuttuja voi sisältää erilaisia tyyppisiä arvoja. Esimerkiksi integers (5, -5), strings (tekstiä), ranges. Esimerkiksi var romutettavaAuto = 5 var romutettavaAuto = "Audi" var alue = 1...10
  • View on sovelluksen käyttäjälle näkyvä rakennuspalikka, esimerkiksi teksti, kuva tai painike. Luodaan uusi määrätyn tyyppinen instanssi. Esimerkiksi näkymän ulkoasua tai toimintaa voidaan säätää suoraan instansseilla kutsumalla niiden metodeja eli modifiers.
    • Text("Teksti")
    • Image("KuvanNimi") .resizable() // kuvanäkymä, johon annetaan argumenttina 'KuvanNimi' ja modifier .resizable. Resizable mahdollistaa kuvan koon vaihdon eri suuntiin. .scaledToFit() säätää kuvan ympäröivän tilan kokoiseksi, mutta näyttää koko kuvan. .scaledToFill() täyttää koko ikkunan kokoiseksi, mutta osa kuvasta katoaa.
    • 'built-in view' on valmis näkymä kuten painike, teksti.
    • 'composed view' on näkymä, joka yhdistää yhden tai useampia built-in vies tai composed view.
  • Komennot kirjoitetaan yhteen ja ne päättyvät sulkeisiin: romutaAuto() Komento suorittaa määrätyn tehtävän.