Ikẹkọ lori Ṣiṣẹda Awọn Ohun elo iOS Nipa Lilo Swift
Kíkọ́ àwọn ohun èlò iOS kò tíì rọrùn rárá nítorí ètò ìdàgbàsókè gbogbogbòò ti Apple nípasẹ̀ Xcode àti èdè ètò Swift. Nínú àpilẹ̀kọ yìí, ìwọ yóò kọ́ bí a ṣe ń kọ́ ohun èlò iOS nípa lílo Swift, láti ṣíṣètò àwọn irinṣẹ́, ṣíṣẹ̀dá iṣẹ́ tuntun kan, ṣíṣe àwòrán ojú-ọ̀nà, àti ṣíṣiṣẹ́ ohun èlò náà nínú ohun èlò ìṣelọ́pọ́. Bó tilẹ̀ jẹ́ pé ẹ̀kọ́ yìí jẹ́ ìṣáájú, àwọn ìgbésẹ̀ náà yẹ kí ó tó láti ràn ọ́ lọ́wọ́ láti ṣẹ̀dá ohun èlò tí ó rọrùn, tí ó sì ń ṣiṣẹ́.
-
1. Ìmúra Àwọn Ohun Èlò àti Àwọn Ohun Tí A Nílò
Ṣaaju ki o to bẹrẹ kikọ koodu, rii daju pe o ni awọn ẹrọ ati sọfitiwia wọnyi:
1. MacBook/iMac (tàbí macOS lórí àwọn ẹ̀rọ Apple), nítorí pé Xcode ń ṣiṣẹ́ lórí macOS nìkan.
2. Xcode (igbasilẹ ọfẹ lati Mac App Store). Xcode pẹlu olootu koodu kan, simulator iPhone kan, ati awọn irinṣẹ ikole ati ṣiṣatunṣe.
3. Swift (tí a fi kún Xcode).
4. (Àṣàyàn) Àkọọ́lẹ̀ Olùgbéjáde Apple fún fífi sori ẹ̀rọ ti ara àti ìtẹ̀jáde sí App Store.
Ni kete ti a ba ti fi Xcode sori ẹrọ, ṣii ohun elo naa ki o duro de ilana fifi sori ẹrọ ti awọn paati afikun lati pari ti o ba jẹ dandan.
-
2. Ṣẹ̀dá Iṣẹ́ Àkànṣe Tuntun kan ní Xcode
1. Ṣí Xcode.
2. Yan Ṣẹda iṣẹ akanṣe Xcode tuntun kan.
3. Nínú abala àwòṣe, yan:
– iOS
– Ohun èlò
4. Tẹ Next, lẹhinna kun iṣeto iṣẹ akanṣe naa:
– Orúkọ Ọjà: fún àpẹẹrẹ `HelloSwiftApp`
– Ẹgbẹ: yan akọọlẹ rẹ (o le ṣofo ti o ko ba wọle)
– Olùdámọ̀ Àjọ: fún àpẹẹrẹ `com.devname`
- Ni wiwo: yan SwiftUI (diẹ igbalode ati rọrun fun awọn olubere)
Àkíyèsí: Tí o bá fẹ́ UIKit, o lè yan Storyboard, ṣùgbọ́n ẹ̀kọ́ yìí dá lórí SwiftUI.
– Èdè: Swift
5. Tẹ Next kí o sì yan ibi tí wọ́n ti máa kó àwọn iṣẹ́ náà sí, lẹ́yìn náà tẹ Ṣẹ̀dá.
Nígbà tí a bá ti ṣẹ̀dá iṣẹ́ náà tán, ìwọ yóò rí ìṣètò fáìlì bíi `HelloSwiftAppApp.swift` àti `ContentView.swift`.
-
3. Lílóye Ìṣètò Pàtàkì ti Iṣẹ́ Àgbékalẹ̀ SwiftUI kan
Nínú SwiftUI, ibi tí ohun èlò kan ti bẹ̀rẹ̀ ni fáìlì `YourAppNameApp.swift`. Fún àpẹẹrẹ:
"yara
gbe SwiftUI wọle
@oníní
struct HelloSwiftAppApp: App {
var body: diẹ ninu awọn Scene {
Ẹgbẹ́ Fèrèsé {
Àwòrán Àkóónú()
}
}
}
““
Àlàyé kúkúrú:
– `@main` ni àmì sí ojú ibi tí a ti ń tẹ ohun èlò náà.
– `WindowGroup` ni àpótí ìwòran pàtàkì.
– `ContentView()` ni ìwò àkọ́kọ́ tí a fihàn.
Nibayi, `ContentView.swift` ní ìwò pàtàkì náà:
"yara
gbe SwiftUI wọle
struct ContentView: Wo {
var ara: diẹ ninu awọn Wo {
Ifiranṣẹ (“Ẹ kú àárọ̀, ayé!”)
.padding()
}
}
““
-
4. Ṣíṣẹ̀dá UI Rọrùn kan: Ohun èlò “Àwọn Àkíyèsí Kíákíá”
Láti jẹ́ kí àwọn nǹkan túbọ̀ dùn mọ́ni, a ó ṣẹ̀dá ohun èlò kan tí a ń pè ní “Àwọn Àkíyèsí Kíákíá” tí ó fún àwọn olùlò láyè láti tẹ àwọn àkọsílẹ̀ kí wọ́n sì fi wọ́n hàn gẹ́gẹ́ bí àkójọ.
Igbesẹ 1: Ṣíṣẹ̀dá Awọn Ipinlẹ fun Ifiwọle ati Akojopo
Yí `ContentView.swift` padà sí:
"yara
gbe SwiftUI wọle
struct ContentView: Wo {
@State ikọkọ var noteText: Okun = “”
@State àkọọ́lẹ̀ var: [Okùn] = []
var ara: diẹ ninu awọn Wo {
Ìwòye Ìlọsíwájú {
VStack(àlàfo: 16) {
TextField(“Kọ àkọsílẹ̀ kan…”, ọ̀rọ̀: $noteText)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding(.perizontal)
Bọ́tìnì (ìgbésẹ̀: addNote) {
Ọ̀rọ̀ (“Fi Àkíyèsí kún”)
.frame(ìwọ̀n gíga jùlọ: .ìwọ̀n àìlópin)
}
.buttonStyle(.borderedProminent)
.padding(.perizontal)
Àkójọ {
FúnEach(àkíyèsí, id: \.self) { àkíyèsí nínú
Ọ̀rọ̀ (àkíyèsí)
}
.onDelete(ṣe: deleteNote)
}
}
.navigationTitle(“Àwọn Àkíyèsí Kíákíá”)
}
}
ìkọ̀kọ̀ iṣẹ́ àfikún() {
jẹ́ kí a gé e sí wẹ́wẹ́ = noteText.trimmingÀwọn ànímọ́ (nínú: .àwọn ààyè funfunAndÀwọn ìlà tuntun)
oluṣọ !trimmed.isOfo miran { pada }
notes.insert(tí a gé, ní: 0)
Àkíyèsí Ọ̀rọ̀ = “”
}
ikọkọ func deleteNote(ni aiṣedeede: IndexSet) {
awọn akọsilẹ.yọ kuro(atOffsets: awọn aiṣedeede)
}
}
““
-
5. Àlàyé Kódì Pàtàkì
Àwọn kókó pàtàkì díẹ̀ láti lóye:
– @State: A lo lati tọju data ti yoo yipada ati mu UI naa wa lati ṣe imudojuiwọn ni ibamu.
– `noteText` ń tọ́jú ọ̀rọ̀ ìtẹ̀wọlé.
– `àkọọ́lẹ̀` ń tọ́jú àkójọ àwọn àkọọ́lẹ̀.
– TextField: Ẹ̀ka ìtẹ̀wọlé ọ̀rọ̀.
Síso `text: $noteText` túmọ̀ sí wípé TextField so mọ́ ipò `noteText` tààrà.
– Bọ́tìnì(ìgbésẹ̀:) : Bọ́tìnì láti ṣiṣẹ́ iṣẹ́ `addNote()`.
– Àkójọ + FúnEach : Ń fi dátà hàn nínú fọ́ọ̀mù àkójọ.
A lo `id: \.self` nítorí pé ohun náà jẹ́ okùn àrà ọ̀tọ̀ (fún àpẹẹrẹ kan).
– onDelete: Ó ń jẹ́ kí a pa àwọn nǹkan kan rẹ́ kúrò nínú àkójọ náà pẹ̀lú ìfarahàn sísún.
-
6. Ṣiṣe Ohun elo naa ninu Simulator
Láti ṣiṣẹ́ ohun èlò náà:
1. Ní òkè Xcode, yan ẹ̀rọ tí a fẹ́ lò, fún àpẹẹrẹ iPhone 15 (Simulator).
2. Tẹ bọtini Run (aami onigun mẹta ▶).
3. Apẹẹrẹ naa yoo ṣii, lẹhinna ohun elo naa yoo ṣiṣẹ laifọwọyi.
Gbìyànjú láti tẹ àkọsílẹ̀, kí o tẹ bọ́tìnì “Fi Àkíyèsí kún”, kí o sì rí i pé ó fara hàn nínú àkójọ náà. Fi ohunkóhun sí apá òsì láti pa á rẹ́.
-
7. Àtúnṣe tó rọrùn
Nígbà tí ohun èlò kan kò bá ṣiṣẹ́ bí a ṣe retí, o lè:
– Wo ibi ìfìwéránṣẹ́ Debug Console ní ìsàlẹ̀ Xcode fún àwọn àkọsílẹ̀ àṣìṣe.
– A fi `print()` kún un láti ṣàyẹ̀wò àwọn iye oníyípadà:
"yara
tẹ̀wé(“Àkíyèsí tí a fi kún:”, gé e kúrò)
““
Ni afikun, Xcode pese ẹya fifọ aaye lati da eto naa duro ni laini kan pato ki o le ṣayẹwo awọn akoonu ti awọn oniyipada.
-
8. Imudarasi Awọn Ohun elo: Ijẹrisi Data ati Ibi ipamọ
Ohun èlò tí a kọ lókè yìí ṣì ń tọ́jú àwọn àkọsílẹ̀ fún ìgbà díẹ̀ (wọn yóò parẹ́ nígbà tí a bá ti ìlò náà pa). Fún ìpele ìdàgbàsókè tí ó tẹ̀lé, o lè fi kún un:
1. Ibi ipamọ agbegbe (Awọn aiyipada olumulo)
Fi àkójọpọ̀ àkọsílẹ̀ pamọ́ sí UserDefaults láti wà níbẹ̀ lẹ́yìn tí a bá ti pa ohun èlò náà.
2. Ibi ipamọ data (Data Pataki/SQLite)
Ó yẹ fún àwọn ìwífún tó díjú jù.
3. Ṣàtúnṣe Àkóónú Àkíyèsí
Ṣẹ̀dá ìwòye kúlẹ̀kúlẹ̀ láti ṣe àtúnṣe àkọsílẹ̀ náà.
4. UI ti o wuni ju
Fi àwọn àmì, àwọ̀, àti ìṣètò mímọ́ kún un.
Gẹ́gẹ́ bí ìgbésẹ̀ tó rọrùn, o lè bẹ̀rẹ̀ nípa fífi àwọn àkọsílẹ̀ pamọ́ sí `UserDefaults` nípa lílo `JSONEncoder` àti `JSONDecoder`.
-
9. Kesimpolan
Swift àti SwiftUI pese ọ̀nà ìgbàlódé àti kíákíá láti kọ́ àwọn ohun èlò iOS. Nínú ẹ̀kọ́ yìí, o kọ́ bí a ṣe lè ṣẹ̀dá iṣẹ́ iOS tuntun, lóye ìṣètò ìpìlẹ̀ ohun èlò SwiftUI kan, kọ́ UI tí ó rọrùn pẹ̀lú TextFields, Buttons, àti Lists, kí o sì ṣiṣẹ́ ohun èlò náà nínú ohun èlò ìṣelọ́pọ́. Bó tilẹ̀ jẹ́ pé ohun èlò náà ṣì rọrùn, ìpìlẹ̀ yìí ṣe pàtàkì fún lílọ sí àwọn ohun èlò tí ó díjú bíi ibi ìpamọ́ dátà, lílọ sí ojú ìwé, àti ìṣọ̀kan API.
Tí o bá fẹ́, mo tún lè ràn ọ́ lọ́wọ́ láti ṣẹ̀dá àwọn àtúnṣe tó ga jù ti ẹ̀kọ́ yìí, bíi fífi ibi ìpamọ́ tó ń tẹ̀síwájú kún UserDefaults/Core Data, ṣíṣẹ̀dá ojú ìwé àlàyé pẹ̀lú NavigationStack, tàbí ṣíṣẹ̀dá àpù kan tó ń gba dátà láti inú ìkànnì ayélujára nípa lílo URLSession.