Handledning om att skapa iOS-applikationer med Swift

Handledning om att skapa iOS-appar med Swift

Att bygga iOS-appar har aldrig varit enklare tack vare Apples omfattande utvecklingsekosystem genom Xcode och programmeringsspråket Swift. I den här artikeln lär du dig grunderna i att bygga en iOS-app med Swift, från att konfigurera verktygen, skapa ett nytt projekt, designa gränssnittet och köra appen i simulatorn. Även om den här handledningen är introducerande, bör stegen vara tillräckliga för att hjälpa dig skapa en enkel, fungerande app.

-

1. Förberedelse av verktyg och krav

Innan du börjar menulis kode, pastikan Anda memiliki perangkat dan software berikut:

1. MacBook/iMac (atau macOS di perangkat Apple), karena Xcode secara resmi hanya berjalan di macOS.
2. Xcode (bisa diunduh gratis melalui Mac App Store). Xcode berisi editor kode, simulator iPhone, serta tool build dan debugging.
3. Swift (sudah termasuk di Xcode).
4. (Opsional) Akun Apple Developer untuk instalasi ke perangkat fisik dan publikasi ke App Store.

När Xcode är installerat öppnar du programmet och väntar tills installationsprocessen för ytterligare komponenter är klar om det behövs.

-

2. Skapa ett nytt projekt i Xcode

1. Buka Xcode .
2. Pilih Create a new Xcode project .
3. I mallavsnittet väljer du:
- iOS
- App
4. Klik Next , lalu isi konfigurasi proyek:
– Product Name : misalnya `HelloSwiftApp`
– Team : pilih akun Anda (bisa kosong jika belum login)
– Organization Identifier : misalnya `com.namadeveloper`
– Interface : pilih SwiftUI (lebih modern dan sederhana untuk pemula)
Obs! Om du vill ha UIKit kan du välja Storyboard, men den här handledningen fokuserar på SwiftUI.
– Language : Swift
5. Klik Next dan pilih lokasi penyimpanan proyek, lalu klik Create .

När projektet har skapats ser du en filstruktur som liknar `HelloSwiftAppApp.swift` och `ContentView.swift`.

-

3. Förstå den grundläggande strukturen i ett SwiftUI-projekt

I SwiftUI är startpunkten för en applikation vanligtvis filen `YourAppNameApp.swift`. Till exempel:

"snabb
importera SwiftUI

@huvud
struktur HelloSwiftAppApp: App {
var body: någon scen {
Fönstergrupp {
Innehållsvy()
}
}
}
”'

Kort förklaring:
– `@main` markerar programmets startpunkt.
– `WindowGroup` är den huvudsakliga vybehållaren.
– `ContentView()` är den första vyn som visas.

Samtidigt innehåller `ContentView.swift` huvudvyn:

"snabb
importera SwiftUI

struct ContentView: Visa {
var body: some View {
Text ("Hej världen!")
.stoppning()
}
}
”'

-

4. Skapa ett enkelt användargränssnitt: appen "Snabba anteckningar"

För att göra det hela mer intressant kommer vi att skapa en enkel applikation som heter "Snabba anteckningar" som låter användare skriva anteckningar och visa dem som en lista.

Steg 1: Skapa tillstånd för inmatning och lista

Ändra `ContentView.swift` till:

"snabb
importera SwiftUI

struct ContentView: Visa {
@State privat variabel noteText: String = “”
@State privat variabel anteckningar: [String] = []

var body: some View {
Navigeringsvy {
VStack(avstånd: 16) {
TextField(“Skriv en anteckning…”, text: $noteText)
.textFieldStyle(RundadBorderTextFieldStyle())
.padding(.horisontell)

Knapp(åtgärd: lägg till anteckning) {
Text("Lägg till anteckning")
.frame(maxWidth: .infinity)
}
.buttonStyle(.borderedProminent)
.padding(.horisontell)

Lista {
För varje (anteckningar, id: \.self) { anteckning i
Text (anteckning)
}
.onDelete(perform: deleteNote)
}
}
.navigationTitle("Snabba anteckningar")
}
}

privat funktion addNote() {
låt trimmad = noteText.trimmingCharacters(in: .whitespacesAndNewlines)
guard !trimmed.isEmpty annars { returnera }
anteckningar.insert(trimmad, vid: 0)
anteckningstext = ""
}

privat func deleteNote(vid offsets: IndexSet) {
notes.remove(atOffsets: offsets)
}
}
”'

-

5. Viktig kodförklaring

Några viktiga begrepp att förstå:

– @State : Digunakan untuk menyimpan data yang akan berubah dan memicu UI untuk ikut diperbarui.
– `noteText` lagrar inmatningstexten.
– `notes` lagrar en lista med anteckningar.

– TextField : Komponen input teks.
Bindning av `text: $noteText` innebär att TextField är direkt kopplat till `noteText`-tillståndet.

– Button(action:) : Tombol untuk menjalankan fungsi `addNote()`.

– List + ForEach : Menampilkan data dalam bentuk daftar.
`id: \.self` används eftersom objektet är en unik sträng (som ett enkelt exempel).

– onDelete : Memungkinkan penghapusan item dari list dengan gesture swipe.

-

6. Köra applikationen i simulatorn

För att köra applikationen:

1. Di bagian atas Xcode, pilih target device misalnya iPhone 15 (Simulator).
2. Klik tombol Run (ikon segitiga ▶).
3. Simulatorn öppnas och applikationen körs automatiskt.

Försök att skriva en anteckning, tryck på knappen "Lägg till anteckning" så visas den i listan. Svep valfritt objekt åt vänster för att radera det.

-

7. Enkel felsökning

När en applikation inte fungerar som förväntat kan du:

– Melihat panel Debug Console di bawah Xcode untuk error log.
– Lade till `print()` för att kontrollera variabelvärden:

"snabb
print(“Anteckning tillagd:”, trimmad)
”'

Dessutom tillhandahåller Xcode en brytpunktsfunktion för att stoppa programmet vid en specifik rad så att du kan inspektera innehållet i variabler.

-

8. Förbättra applikationer: Datavalidering och lagring

Ovanstående applikation lagrar fortfarande anteckningar tillfälligt (de försvinner när applikationen stängs). För nästa utvecklingssteg kan du lägga till:

1. Penyimpanan Lokal (UserDefaults)
Spara en array med anteckningar till UserDefaults för att sparas efter att programmet har stängts.
2. Database (Core Data/SQLite)
Lämplig för mer komplexa data.
3. Fitur Edit Catatan
Skapa en detaljvy för att ändra posten.
4. UI yang Lebih Menarik
Lägg till ikoner, färger och en renare layout.

Som ett enkelt steg kan du börja med att spara poster till `UserDefaults` med hjälp av `JSONEncoder` och `JSONDecoder`.

-

9. Sammanfattning

Swift och SwiftUI erbjuder ett modernt och snabbt sätt att bygga iOS-appar. I den här handledningen lärde du dig hur du skapar ett nytt iOS-projekt, förstår den grundläggande strukturen för en SwiftUI-app, bygger ett enkelt användargränssnitt med textfält, knappar och listor, och kör appen i simulatorn. Även om appen fortfarande är enkel är denna grund avgörande för att gå vidare till mer komplexa funktioner som datalagring, sidnavigering och API-integration.

Om du vill kan jag också hjälpa dig att skapa mer avancerade versioner av den här handledningen, till exempel att lägga till permanent lagring med UserDefaults/Core Data, skapa en detaljsida med NavigationStack eller skapa en app som hämtar data från internet med hjälp av URLSession.

Lämna en kommentar