|
|
(8 välissä olevaa versiota samalta käyttäjältä ei näytetä) |
Rivi 22: |
Rivi 22: |
| ** [https://developer.apple.com/swift-playgrounds Learn to code with Swift Playgrounds] | | ** [https://developer.apple.com/swift-playgrounds Learn to code with Swift Playgrounds] |
|
| |
|
| == Perusteet ==
| | |
| import SwiftUI
| |
|
| |
| struct EsitysView: View {
| |
| var body: some View { // body on property
| |
| Text("Tekstiä") // teksti-nä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.
| |
| * '''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 Text("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.
| |
| | |
| * Komennot kirjoitetaan yhteen ja ne päättyvät sulkeisiin: romutaAuto() Komento suorittaa määrätyn tehtävän.
| |
| | |
| [[Luokka:Tietokoneet]] | | [[Luokka:Tietokoneet]] |