Водич за креирање iOS апликација помоћу Swift-а
Креирање iOS апликација никада није било лакше захваљујући Apple-овом свеобухватном развојном екосистему кроз Xcode и програмски језик Swift. У овом чланку ћете научити основни ток креирања iOS апликације помоћу Swift-а, од подешавања алата, креирања новог пројекта, дизајнирања интерфејса и покретања апликације у симулатору. Иако је овај туторијал уводни, кораци би требало да буду довољни да вам помогну да креирате једноставну, функционалну апликацију.
-
1. Припрема алата и захтева
Пре него што почнете да пишете код, уверите се да имате следеће уређаје и софтвер:
1. MacBook/iMac (или macOS на Apple уређајима), пошто Xcode званично ради само на macOS-у.
2. Xcode (бесплатно преузимање са Mac App Store-а). Xcode укључује уређивач кода, симулатор за iPhone и алате за изградњу и отклањање грешака.
3. Свифт (укључен у Xcode).
4. (Опционо) Apple Developer налог за инсталацију на физичке уређаје и објављивање у App Store-у.
Када се Xcode инсталира, отворите апликацију и сачекајте да се процес инсталације додатних компоненти заврши ако је потребно.
-
2. Направите нови пројекат у Xcode-у
1. Отворите Xcode.
2. Изаберите Креирај нови Xcode пројекат.
3. У одељку шаблона изаберите:
– iOS
– Апликација
4. Кликните на Даље, а затим попуните конфигурацију пројекта:
– Назив производа: на пример `HelloSwiftApp`
– Тим: изаберите свој налог (може бити празно ако нисте пријављени)
– Идентификатор организације: на пример `com.devname`
– Интерфејс: изаберите SwiftUI (модернији и једноставнији за почетнике)
Напомена: Ако желите UIKit, можете изабрати Storyboard, али овај туторијал се фокусира на SwiftUI.
– Језик: Свифт
5. Кликните на Даље и изаберите локацију за складиштење пројекта, а затим кликните на Креирај .
Када се пројекат креира, видећете структуру датотека као што су `HelloSwiftAppApp.swift` и `ContentView.swift`.
-
3. Разумевање основне структуре SwiftUI пројекта
У SwiftUI-ју, почетна тачка апликације је обично датотека `YourAppNameApp.swift`. На пример:
„`свифт
увоз SwiftUI-ја
@главни
структура HelloSwiftAppApp: Апликација {
var тело: нека сцена {
Група прозора {
ContentView()
}
}
}
„`
Кратко објашњење:
– `@main` означава улазну тачку апликације.
– `WindowGroup` је главни контејнер приказа.
– `ContentView()` је први приказани приказ.
У међувремену, `ContentView.swift` садржи главни приказ:
„`свифт
увоз SwiftUI-ја
струцт ЦонтентВиев: Виев {
вар тело: неки приказ {
Текст („Здраво, свете!“)
.padding()
}
}
„`
-
4. Креирање једноставног корисничког интерфејса: апликација „Брзе белешке“
Да бисмо ствари учинили занимљивијим, направићемо једноставну апликацију под називом „Брзе белешке“ која омогућава корисницима да куцају белешке и приказују их као листу.
Корак 1: Креирање стања за унос и листу
Промените `ContentView.swift` у:
„`свифт
увоз SwiftUI-ја
струцт ЦонтентВиев: Виев {
@State приватна варијабла белешкеТекст: Стринг = „”
Напомене о приватној променљивој @State: [String] = []
вар тело: неки приказ {
NavigationView {
VStack(размак: 16) {
TextField(„Напиши белешку…“, текст: $noteText)
.textFieldStyle(RoundedBorderTextFieldStyle())
.паддинг(.хоризонтални)
Дугме(акција: додајНапомену) {
Текст („Додај напомену“)
.frame(максималнаШирина: .бесконачно)
}
.buttonStyle(.borderedProminent)
.паддинг(.хоризонтални)
Листа {
ForEach(белешке, id: \.self) { белешка у
Текст (белешка)
}
.onDelete(изврши: deleteNote)
}
}
.navigationTitle(„Брзе белешке“)
}
}
приватна функција додајНота() {
нека се trimmed = noteText.trimmingCharacters(ин: .whitespacesAndNewlines)
чувар !trimmed.isEmpty иначе { врати }
белешке.уметни(скраћено, на: 0)
белешкаТекст = „”
}
приватна функција делетеНоте(ат оффсетс: ИндекСет) {
нотес.ремове(атОффсетс: офсети)
}
}
„`
-
5. Важно објашњење кода
Неки кључни концепти које треба разумети:
– @State: Користи се за чување података који ће се променити и покренути кориснички интерфејс да се ажурира у складу са тим.
– `noteText` чува унети текст.
– `notes` чува листу белешки.
– TextField: Компонента за унос текста.
Везивање `text: $noteText` значи да је TextField директно повезано са стањем `noteText`.
– Button(action:) : Дугме за покретање функције `addNote()`.
– Листа + За сваки: Приказује податке у облику листе.
`id: \.self` се користи зато што је ставка јединствени стринг (на пример).
– onDelete: Омогућава брисање ставки са листе превлачењем прстом.
-
6. Покретање апликације у симулатору
Да бисте покренули апликацију:
1. На врху Xcode-а, изаберите циљни уређај, на пример iPhone 15 (Simulator).
2. Кликните на дугме Покрени (икона троугла ▶).
3. Симулатор ће се отворити, а затим ће се апликација аутоматски покренути.
Покушајте да откуцате белешку, притиснете дугме „Додај белешку“ и видећете је на листи. Превуците било коју ставку улево да бисте је обрисали.
-
7. Једноставно отклањање грешака
Када апликација не ради како се очекује, можете:
– Погледајте панел конзоле за отклањање грешака на дну Xcode-а за евиденцију грешака.
– Додата је функција `print()` за проверу вредности променљивих:
„`свифт
print(„Додата напомена:“, скраћено)
„`
Поред тога, Xcode пружа функцију прекида за заустављање програма на одређеној линији како бисте могли да прегледате садржај променљивих.
-
8. Унапређење апликација: Валидација и складиштење података
Горе наведена апликација и даље привремено чува белешке (оне ће нестати када се апликација затвори). За следећу фазу развоја, можете додати:
1. Локална меморија (корисничке подразумеване вредности)
Сачувајте низ белешки у UserDefaults да би се сачувале након затварања апликације.
2. База података (Core Data/SQLite)
Погодно за сложеније податке.
3. Функција уређивања белешки
Направите детаљан приказ да бисте изменили запис.
4. Атрактивнији кориснички интерфејс
Додајте иконе, боје и чистији распоред.
Као једноставан корак, можете почети тако што ћете сачувати записе у `UserDefaults` користећи `JSONEncoder` и `JSONDecoder`.
-
9. Кесимпулан
Swift и SwiftUI пружају модеран и брз начин за креирање iOS апликација. У овом туторијалу сте научили како да креирате нови iOS пројекат, разумете основну структуру SwiftUI апликације, направите једноставан кориснички интерфејс са текстуалним пољима (TextFields), дугмадима (Buttons) и листама (Listas) и покренете апликацију у симулатору. Иако је апликација и даље једноставна, ова основа је неопходна за прелазак на сложеније функције као што су складиштење података, навигација кроз странице и API интеграција.
Ако желите, могу вам помоћи и да креирате напредније верзије овог туторијала, као што је додавање трајне меморије помоћу UserDefaults/Core Data, креирање странице са детаљима помоћу NavigationStack-а или креирање апликације која преузима податке са интернета помоћу URLSession-а.