Vadnica za ustvarjanje aplikacij za iOS s Swiftom
Izdelava aplikacij za iOS še nikoli ni bila lažja zaradi Applovega celovitega razvojnega ekosistema prek Xcode in programskega jezika Swift. V tem članku se boste naučili osnovnega poteka izdelave aplikacije za iOS s Swiftom, od nastavitve orodij, ustvarjanja novega projekta, oblikovanja vmesnika in zagona aplikacije v simulatorju. Čeprav je ta vadnica uvodna, bi morali biti koraki dovolj, da vam pomagajo ustvariti preprosto, delujočo aplikacijo.
-
1. Priprava orodij in zahtev
Preden začnete pisati kodo, se prepričajte, da imate naslednje naprave in programsko opremo:
1. MacBook/iMac (ali macOS na napravah Apple), saj Xcode uradno deluje samo na macOS-u.
2. Xcode (brezplačen prenos iz trgovine Mac App Store). Xcode vključuje urejevalnik kode, simulator za iPhone ter orodja za gradnjo in odpravljanje napak.
3. Swift (vključen v Xcode).
4. (Neobvezno) Račun razvijalca Apple za namestitev na fizične naprave in objavo v trgovini App Store.
Ko je Xcode nameščen, odprite aplikacijo in počakajte, da se postopek namestitve dodatnih komponent po potrebi zaključi.
-
2. Ustvarite nov projekt v Xcode
1. Odprite Xcode.
2. Izberite Ustvari nov projekt Xcode.
3. V razdelku predloge izberite:
– iOS
– Aplikacija
4. Kliknite Naprej in nato izpolnite konfiguracijo projekta:
– Ime izdelka: na primer `HelloSwiftApp`
– Ekipa: izberite svoj račun (lahko ostane prazno, če niste prijavljeni)
– Identifikator organizacije: na primer `com.devname`
– Vmesnik: izberite SwiftUI (sodobnejši in enostavnejši za začetnike)
Opomba: Če želite UIKit, lahko izberete Storyboard, vendar se ta vadnica osredotoča na SwiftUI.
– Jezik: Swift
5. Kliknite Naprej in izberite mesto shranjevanja projekta, nato pa kliknite Ustvari.
Ko je projekt ustvarjen, boste videli strukturo datotek, kot je `HelloSwiftAppApp.swift` in `ContentView.swift`.
-
3. Razumevanje osnovne strukture projekta SwiftUI
V SwiftUI je začetna točka aplikacije običajno datoteka `YourAppNameApp.swift`. Na primer:
“hitro
uvozi SwiftUI
@glavna
struktura HelloSwiftAppApp: Aplikacija {
var telo: nekaj prizorov {
Skupina oken {
ContentView()
}
}
}
""
Kratka razlaga:
– `@main` označuje vstopno točko aplikacije.
– `WindowGroup` je glavni vsebnik pogleda.
– `ContentView()` je prvi prikazani pogled.
Medtem `ContentView.swift` vsebuje glavni pogled:
“hitro
uvozi SwiftUI
struct ContentView: Pogled {
var body: some View {
Besedilo (»Pozdravljen, svet!«)
.oblazinjenje()
}
}
""
-
4. Ustvarjanje preprostega uporabniškega vmesnika: aplikacija »Hitre opombe«
Da bi bilo vse skupaj še bolj zanimivo, bomo ustvarili preprosto aplikacijo z imenom »Hitre opombe«, ki uporabnikom omogoča vnašanje opomb in njihov prikaz kot seznam.
1. korak: Ustvarjanje stanj za vnos in seznam
Spremeni `ContentView.swift` v:
“hitro
uvozi SwiftUI
struct ContentView: Pogled {
@State zasebna var noteBesedilo: String = “”
@State zasebne var opombe: [String] = []
var body: some View {
Navigacijski pogled {
VStack(razmik: 16) {
TextField(»Napiši opombo…«, besedilo: $noteBesedilo)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding(.horizontal)
Gumb(dejanje: dodajOpombo) {
Besedilo (»Dodaj opombo«)
.frame(maxWidth: .infinity)
}
.buttonStyle(.borderedProminent)
.padding(.horizontal)
Seznam {
ZaVsako(opombe, id: \.self) {opomba v
Besedilo (opomba)
}
.onDelete(izvedi: deleteNote)
}
}
.navigationTitle(»Hitri zapiski«)
}
}
zasebna funkcija dodajOpombo() {
naj bo obrezano = noteText.obrezovanjeZnakov(v: .belipresledkiInNovevrstice)
stražar !obrezano.jePrazno sicer { return }
notes.insert(obrezano, pri: 0)
opombaBesedilo = “”
}
private func deleteNote(pri odmikih: IndexSet) {
notes.remove(atOffsets: odmiki)
}
}
""
-
5. Pomembna razlaga kode
Nekaj ključnih konceptov, ki jih je treba razumeti:
– @State: Uporablja se za shranjevanje podatkov, ki se bodo spremenili in sprožili ustrezno posodobitev uporabniškega vmesnika.
– `noteText` shrani vhodno besedilo.
– `notes` shrani seznam opomb.
– TextField: Komponenta za vnos besedila.
Vezava `text: $noteText` pomeni, da je TextField neposredno povezan s stanjem `noteText`.
– Gumb(dejanje:) : Gumb za zagon funkcije `addNote()`.
– List + ForEach: Prikaže podatke v obliki seznama.
`id: \.self` se uporablja, ker je element edinstven niz (za preprost primer).
– onDelete: Omogoča brisanje elementov s seznama s potezo podrsavanja.
-
6. Zagon aplikacije v simulatorju
Za zagon aplikacije:
1. Na vrhu Xcode izberite ciljno napravo, na primer iPhone 15 (Simulator).
2. Kliknite gumb Zaženi (ikona trikotnika ▶).
3. Simulator se bo odprl, nato pa se bo aplikacija samodejno zagnala.
Poskusite vnesti opombo, pritisniti gumb »Dodaj opombo« in poglejte, ali se bo prikazala na seznamu. Poljubni element povlecite v levo, da ga izbrišete.
-
7. Preprosto odpravljanje napak
Ko aplikacija ne deluje po pričakovanjih, lahko:
– Za dnevnike napak si oglejte ploščo konzole za odpravljanje napak na dnu Xcode.
– Dodan `print()` za preverjanje vrednosti spremenljivk:
“hitro
print(“Dodana opomba:”, obrezano)
""
Poleg tega Xcode ponuja funkcijo prekinitvenih točk, ki ustavi program na določeni vrstici, tako da lahko pregledate vsebino spremenljivk.
-
8. Izboljšanje aplikacij: Validacija in shranjevanje podatkov
Zgornja aplikacija še vedno začasno shranjuje zapiske (izginili bodo, ko bo aplikacija zaprta). Za naslednjo fazo razvoja lahko dodate:
1. Lokalno shranjevanje (uporabniške privzete nastavitve)
Shrani polje zapiskov v UserDefaults, da se ohrani tudi po zaprtju aplikacije.
2. Podatkovna baza (Core Data/SQLite)
Primerno za bolj kompleksne podatke.
3. Funkcija urejanja zapiskov
Ustvarite podroben pogled za spreminjanje zapisa.
4. Privlačnejši uporabniški vmesnik
Dodajte ikone, barve in čistejšo postavitev.
Kot preprost korak lahko začnete s shranjevanjem zapisov v `UserDefaults` z uporabo `JSONEncoder` in `JSONDecoder`.
-
9. Kesimpulan
Swift in SwiftUI ponujata sodoben in hiter način za izdelavo aplikacij za iOS. V tej vadnici ste se naučili, kako ustvariti nov projekt za iOS, razumeti osnovno strukturo aplikacije SwiftUI, zgraditi preprost uporabniški vmesnik s tekstovnimi polji, gumbi in seznami ter zagnati aplikacijo v simulatorju. Čeprav je aplikacija še vedno preprosta, je ta osnova bistvena za prehod na bolj kompleksne funkcije, kot so shranjevanje podatkov, navigacija po straneh in integracija API-jev.
Če želite, vam lahko pomagam tudi pri ustvarjanju naprednejših različic tega vodiča, kot je dodajanje trajnega pomnilnika z UserDefaults/Core Data, ustvarjanje strani s podrobnostmi z NavigationStack ali ustvarjanje aplikacije, ki pridobiva podatke iz interneta z uporabo URLSession.