Koyarwa kan Ƙirƙirar Manhajojin iOS ta Amfani da Swift
Gina manhajojin iOS bai taɓa zama mai sauƙi ba godiya ga tsarin ci gaban Apple ta hanyar Xcode da yaren shirye-shiryen Swift. A cikin wannan labarin, za ku koyi ainihin tsarin gina manhajar iOS ta amfani da Swift, tun daga saita kayan aikin, ƙirƙirar sabon aiki, tsara hanyar haɗin gwiwa, da kuma gudanar da manhajar a cikin na'urar kwaikwayo. Duk da cewa wannan koyaswar gabatarwa ce, matakan ya kamata su isa su taimaka muku ƙirƙirar manhaja mai sauƙi, mai aiki.
-
1. Shirye-shiryen Kayan Aiki da Bukatu
Sebelum mulai 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.
Da zarar an shigar da Xcode, buɗe aikace-aikacen kuma jira tsarin shigarwa na ƙarin kayan haɗin ya kammala idan ya cancanta.
-
2. Ƙirƙiri Sabon Aiki a cikin Xcode
1. Buka Xcode .
2. Pilih Create a new Xcode project .
3. A cikin sashen samfuri, zaɓi:
- iOS
- Manhaja
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)
Lura: Idan kana son UIKit, zaka iya zaɓar Storyboard, amma wannan koyaswar ta mayar da hankali ne akan SwiftUI.
– Language : Swift
5. Klik Next dan pilih lokasi penyimpanan proyek, lalu klik Create .
Da zarar an ƙirƙiri aikin, za ku ga tsarin fayil kamar `HelloSwiftAppApp.swift` da `ContentView.swift`.
-
3. Fahimtar Tsarin Asali na Aikin SwiftUI
A SwiftUI, wurin fara aikace-aikace yawanci shine fayil ɗin `YourAppNameApp.swift`. Misali:
"'swift
shigo da SwiftUI
@babban
tsarin HelloSwiftAppApp: Manhaja {
var jiki: wasu Scene {
Rukunin Tagogi {
Duba Abun Ciki()
}
}
}
““
Takaitaccen bayani:
– `@main` yana nuna wurin shigar da aikace-aikacen.
– `WindowGroup` shine babban akwatin gani.
– `ContentView()` shine kallon farko da aka nuna.
A halin yanzu, `ContentView.swift` ya ƙunshi babban ra'ayi:
"'swift
shigo da SwiftUI
tsarin ContentView: Duba {
var jiki: wasu View {
Rubutu("Sannu, duniya!")
.kumfa()
}
}
““
-
4. Ƙirƙirar UI Mai Sauƙi: Manhajar "Bayanan Sauri"
Domin mu ƙara jan hankali, za mu ƙirƙiri wani aikace-aikace mai sauƙi mai suna "Saurin Bayani" wanda ke ba masu amfani damar rubuta bayanai da kuma nuna su a matsayin jerin bayanai.
Mataki na 1: Ƙirƙirar Jihohi don Shigarwa da Jeri
Canza `ContentView.swift` zuwa:
"'swift
shigo da SwiftUI
tsarin ContentView: Duba {
@State sirri var bayanin kulaText: String = “”
@State bayanin kula na sirri: [Kirtani] = []
var jiki: wasu View {
Kewaya Duba {
VStack(tazara: 16) {
TextField(“Rubuta bayanin kula...”, rubutu: $noteText)
Salon .textField(TextFieldStyle())
.padding(.a kwance)
Maɓalli (aiki: addNote) {
Rubutu(“Ƙara Bayani”)
.frame(max Faɗi: .infinity)
}
.buttonStyle(.borderedProminent)
.padding(.a kwance)
Jeri {
GaEach(bayanin kula, id: \.self) { bayanin kula a ciki
Rubutu (bayanin kula)
}
.onDelete(yi: shareNote)
}
}
.navigationTitle(“Bayanan Gaggawa”)
}
}
aikin sirri addNote() {
bari a yi gyaran = bayanin kulaText.trimmingHalaye (a cikin: .farisara daSabbin Layuka)
mai gadi !trimmed.isBabu komai kuma { dawo }
notes.insert(an gyara, a: 0)
rubutu rubutu = ""
}
masu zaman kansu shareNote(a kashewa: IndexSet) {
bayanin kula.cire(atOffsets: offsets)
}
}
““
-
5. Muhimman Bayanin Lambobi
Wasu muhimman ra'ayoyi don fahimta:
– @State : Digunakan untuk menyimpan data yang akan berubah dan memicu UI untuk ikut diperbarui.
– `noteText` yana adana rubutun shigarwa.
– `bayanai` yana adana jerin bayanan kula.
– TextField : Komponen input teks.
Haɗa `rubutu: $noteText` yana nufin cewa TextField yana da alaƙa kai tsaye da yanayin `noteText`.
– Button(action:) : Tombol untuk menjalankan fungsi `addNote()`.
– List + ForEach : Menampilkan data dalam bentuk daftar.
Ana amfani da `id: \.self` saboda abun yana da igiya ta musamman (misali mai sauƙi).
– onDelete : Memungkinkan penghapusan item dari list dengan gesture swipe.
-
6. Gudanar da Aikace-aikacen a cikin Na'urar kwaikwayo
Don gudanar da aikace-aikacen:
1. Di bagian atas Xcode, pilih target device misalnya iPhone 15 (Simulator).
2. Klik tombol Run (ikon segitiga ▶).
3. Za a buɗe na'urar kwaikwayo, sannan aikace-aikacen zai gudana ta atomatik.
Gwada rubuta rubutu, danna maɓallin "Ƙara Bayani", sannan ka ga ya bayyana a cikin jerin. Jawo kowane abu zuwa hagu don share shi.
-
7. Sauƙin gyara kurakurai
Idan aikace-aikacen bai yi aiki kamar yadda aka zata ba, zaka iya:
– Melihat panel Debug Console di bawah Xcode untuk error log.
– An ƙara `print()` don duba ƙimar masu canzawa:
"'swift
buga ("An ƙara bayanin kula:", an gyara shi)
““
Bugu da ƙari, Xcode yana ba da fasalin breakpoint don dakatar da shirin a wani takamaiman layi don haka zaku iya duba abubuwan da ke cikin masu canji.
-
8. Inganta Aikace-aikace: Tabbatar da Bayanai da Ajiya
Manhajar da ke sama har yanzu tana adana bayanan kula na ɗan lokaci (za su ɓace idan an rufe aikace-aikacen). Don mataki na gaba na haɓakawa, zaku iya ƙarawa:
1. Penyimpanan Lokal (UserDefaults)
Ajiye jerin bayanai zuwa UserDefaults don ci gaba bayan an rufe aikace-aikacen.
2. Database (Core Data/SQLite)
Ya dace da ƙarin bayanai masu rikitarwa.
3. Fitur Edit Catatan
Ƙirƙiri cikakken bayani don gyara rikodin.
4. UI yang Lebih Menarik
Ƙara gumaka, launuka, da kuma tsari mai tsabta.
A matsayin mataki mai sauƙi, za ka iya fara ta hanyar adana bayanan zuwa `UserDefaults` ta amfani da `JSONencoder` da `JSONDecoder`.
-
9. Kesimpulan
Swift da SwiftUI suna ba da hanya ta zamani da sauri don gina manhajojin iOS. A cikin wannan koyaswar, kun koyi yadda ake ƙirƙirar sabon aikin iOS, fahimtar tsarin asali na manhajar SwiftUI, gina UI mai sauƙi tare da TextFields, Buttons, da Lists, da kuma gudanar da manhajar a cikin na'urar kwaikwayo. Duk da cewa manhajar har yanzu tana da sauƙi, wannan tushe yana da mahimmanci don ci gaba zuwa fasaloli masu rikitarwa kamar adana bayanai, kewaya shafi, da haɗakar API.
Idan kuna so, zan iya taimaka muku ƙirƙirar ƙarin sigar wannan koyaswar, kamar ƙara ajiya mai ɗorewa tare da UserDefaults/Core Data, ƙirƙirar shafin dalla-dalla tare da NavigationStack, ko ƙirƙirar app wanda ke ɗaukar bayanai daga intanet ta amfani da URLSession.