Dersa Çêkirina Serlêdanên iOS-ê Bi Bikaranîna Swift
Avakirina sepanên iOS-ê bi saya ekosîstema pêşveçûnê ya berfireh a Apple-ê bi rêya Xcode û zimanê bernamenûsiya Swift-ê qet ewqas hêsan nebûye. Di vê gotarê de, hûn ê herikîna bingehîn a avakirina sepanek iOS-ê bi karanîna Swift-ê fêr bibin, ji sazkirina amûran bigire heya afirandina projeyek nû, sêwirandina navrûyê, û xebitandina sepanê di simulatorê de. Her çend ev ders destpêkê be jî, gav divê bes bin ku ji we re bibin alîkar ku hûn sepanek hêsan û fonksiyonel biafirînin.
-
1. Amadekirina Amûr û Pêdiviyan
Berî ku hûn dest bi nivîsandina kodê bikin, pê ewle bin ku we amûr û nermalava jêrîn heye:
1. MacBook/iMac (an macOS li ser cîhazên Apple), ji ber ku Xcode bi fermî tenê li ser macOS-ê dixebite.
2. Xcode (dakêşana belaş ji Mac App Store). Xcode edîtorek kodê, simulasyonek iPhone-ê, û amûrên çêkirin û çareserkirina çewtiyan dihewîne.
3. Swift (di Xcode de heye).
4. (Vebijarkî) Hesabê Pêşdebirê Apple ji bo sazkirinê li ser cîhazên fîzîkî û weşandina li App Store.
Piştî ku Xcode hate sazkirin, serîlêdanê vekin û li bendê bin ku pêvajoya sazkirina pêkhateyên din, ger hewce be, biqede.
-
2. Projeyek Nû di Xcode de Biafirîne
1. Xcode veke.
2. Projeyek Xcode-ya nû biafirîne hilbijêre.
3. Di beşa şablonê de, hilbijêre:
– iOS
– Sepan
4. Bişkojka Next bikirtînin, paşê mîhengên projeyê dagirin:
– Navê Berhemê: bo nimûne `HelloSwiftApp`
- Tîm: hesabê xwe hilbijêre (heke hûn têkevinê nebin dikare vala be)
– Nasnameya Rêxistinê: bo nimûne `com.devname`
- Navrû: SwiftUI hilbijêrin (ji bo destpêkaran nûjentir û hêsantir)
Têbînî: Heke hûn UIKit dixwazin, hûn dikarin Storyboard hilbijêrin, lê ev ders li ser SwiftUI disekine.
- Ziman: Lezgîn
5. Bikirtînin Next û cîhê hilanîna projeyê hilbijêrin, paşê bikirtînin Create.
Dema ku proje hate afirandin, hûn ê avahiyek pelê wekî `HelloSwiftAppApp.swift` û `ContentView.swift` bibînin.
-
3. Têgihîştina Pêkhateya Bingehîn a Projeyek SwiftUI
Di SwiftUI de, xala destpêkê ya serîlêdanekê bi gelemperî pelê `YourAppNameApp.swift` ye. Bo nimûne:
"`zû
SwiftUI import bike
@ser
struktur HelloSwiftAppApp: App {
var body: hin Dîmen {
Grûpa Paceyan {
Dîtina Naverokê()
}
}
}
""
Ravekirina kurt:
– `@main` xala têketina sepanê nîşan dide.
– `WindowGroup` konteynera dîtina sereke ye.
– `ContentView()` dîtina yekem a ku tê nîşandan e.
Di heman demê de, `ContentView.swift` dîtina sereke dihewîne:
"`zû
SwiftUI import bike
struct ContentView: Binêre {
var body: hin Dîtin {
Nivîsar ("Silav, cîhan!")
.dagirtin()
}
}
""
-
4. Çêkirina UI-yek Hêsan: Sepana "Nîşeyên Bilez"
Ji bo ku tiştan balkêştir bikin, em ê serîlêdanek hêsan bi navê "Nîşeyên Bilez" biafirînin ku dihêle bikarhêner notan binivîsin û wan wekî navnîşek nîşan bidin.
Gava 1: Afirandina Rewşan ji bo Têketinê û Lîsteyê
`ContentView.swift` biguherîne bo:
"`zû
SwiftUI import bike
struct ContentView: Binêre {
@State taybet var noteText: String = ""
Têbînîyên varya taybet a @State: [String] = []
var body: hin Dîtin {
NavîgasyonDîtin {
VStack(navber: 16) {
TextField("Nîşeyek binivîse...", nivîs: $noteText)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding(.horizontal)
Bişkok(çalakî: lê zêde bikeNote) {
Nivîs ("Nîşeyek Zêde Bike")
.çarçove(firehiya herî zêde: .bêdawî)
}
.buttonStyle(.borderedProminent)
.padding(.horizontal)
Lîste {
ForEach(notes, id: \.self) { note in
Nivîs (têbînî)
}
.onDelete(pêkanîn: jêbirinNîşeyê)
}
}
.navigationTitle("Nîşeyên Bilez")
}
}
fonksiyona taybet addNote() {
bila were birrîn = noteText.trimmingCharacters(di: .whitespacesAndNewlines)
parêzvan !trimmed.isEmpty wekî din { vegere }
notes.insert(qetandî, li: 0)
noteText = ""
}
fonksiyona taybet jêbirinNote(li veqetandinê: IndexSet) {
notes.remove(atOffsets: offsets)
}
}
""
-
5. Şirovekirina Kodê ya Girîng
Hin têgehên sereke ku têne fêm kirin:
– @State: Ji bo hilanîna daneyên ku dê biguherin û çalakkirina nûvekirina UI-ê tê bikar anîn.
– `noteText` nivîsa têketinê tomar dike.
– `notes` lîsteyek ji notan tomar dike.
– TextField: Pêkhateya têketina nivîsê.
Girêdana `text: $noteText` tê vê wateyê ku TextField rasterast bi rewşa `noteText` ve girêdayî ye.
– Bişkok(action:): Bişkoka ji bo xebitandina fonksiyona `addNote()`.
– List + ForEach : Daneyan bi şêweyê lîsteyê nîşan dide.
`id: \.self` tê bikaranîn ji ber ku hêman rêzek bêhempa ye (ji bo mînakek hêsan).
– onDelete: Destûrê dide jêbirina tiştan ji navnîşê bi tevgera swipe.
-
6. Bixebitandina Serlêdanê di Sîmulatorê de
Ji bo xebitandina sepanê:
1. Li jorê Xcode, cîhaza hedef hilbijêre, bo nimûne iPhone 15 (Simulator).
2. Bişkoka Run bitikîne (îkona sêgoşeyî ▶).
3. Sîmulator dê vebe, dû re serîlêdan dê bixweber bixebite.
Biceribîne notekê binivîsî, bişkoja "Nîşeyê Zêde Bike" bikirtîne, û bibîne ku ew di navnîşê de xuya dibe. Ji bo jêbirina wê, her tiştî ber bi çepê ve bihejîne.
-
7. Çareserkirina Çewtiyên Hêsan
Dema ku serîlêdanek wekî ku tê hêvîkirin nexebite, hûn dikarin:
- Ji bo tomarên çewtiyê li panela Debug Console ya li binê Xcode binêre.
- Ji bo kontrolkirina nirxên guhêrbar `print()` hat zêdekirin:
"`zû
çap bike("Nîşe lê zêde kir:", jêkirî)
""
Wekî din, Xcode taybetmendiyek xala şikestinê peyda dike da ku bernameyê li rêzek taybetî rawestîne da ku hûn naveroka guhêrbaran kontrol bikin.
-
8. Baştirkirina Serlêdanan: Tesdîqkirin û Hilanîn a Daneyan
Serlêdana jorîn hîn jî notan demkî hilîne (dema ku serîlêdan were girtin ew ê winda bibin). Ji bo qonaxa pêş a pêşveçûnê, hûn dikarin lê zêde bikin:
1. Depoya Herêmî (Bikarhêner Defaults)
Rêzek notan li UserDefaults tomar bike da ku piştî girtina serîlêdanê jî berdewam bikin.
2. Databas (Daneyên Bingehîn/SQLite)
Ji bo daneyên tevlihevtir minasib e.
3. Taybetmendiya Guherandina Notan
Ji bo guhertina tomarê dîmenek hûrgulî biafirînin.
4. UI-ya balkêştir
Îkon, reng û sêwiraneke paqijtir lê zêde bike.
Wek gaveke hêsan, hûn dikarin bi tomarkirina tomarên li `UserDefaults` bi karanîna `JSONEncoder` û `JSONDecoder` dest pê bikin.
-
9. Kesimpulan
Swift û SwiftUI rêyek nûjen û bilez peyda dikin ji bo çêkirina sepanên iOS. Di vê dersê de, we fêr bû ka meriv çawa projeyek nû ya iOS-ê diafirîne, avahiya bingehîn a sepanek SwiftUI-ê fêm dike, UI-yek hêsan bi TextFields, Bişkokan û Lîsteyan ava dike, û sepanê di simulatorê de dixebitîne. Her çend sepan hîn jî hêsan be jî, ev bingeh ji bo derbasbûna taybetmendiyên tevlihevtir ên wekî hilanîna daneyan, navîgasyona rûpelê û entegrasyona API-yê girîng e.
Heke hûn bixwazin, ez dikarim ji we re bibim alîkar ku hûn guhertoyên pêşkeftîtir ên vê dersê biafirînin, wek mînak zêdekirina depoya domdar bi UserDefaults/Core Data, çêkirina rûpelek hûrgulî bi NavigationStack, an çêkirina serîlêdanek ku daneyan ji înternetê bi karanîna URLSession tîne.