Ответ
Основные фреймворки и библиотеки:
- UI: UIKit, SwiftUI, CoreAnimation.
- Данные и сеть: CoreData, Realm, Alamofire, URLSession, Combine.
- Системные сервисы: CoreLocation, MapKit, UserNotifications.
- Бэкенд-сервисы: Firebase (Auth, Firestore, Analytics).
- Многопоточность: Grand Central Dispatch (GCD), OperationQueue.
Практические примеры:
Работа с сетью через URLSession:
let url = URL(string: "https://api.example.com/data")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
guard let data = data, error == nil else { return }
// Декодирование JSON с помощью Codable
let decoder = JSONDecoder()
if let model = try? decoder.decode(MyModel.self, from: data) {
DispatchQueue.main.async {
// Обновление UI
}
}
}
task.resume()
Создание интерфейса на SwiftUI:
struct ContentView: View {
@StateObject private var viewModel = ContentViewModel()
var body: some View {
List(viewModel.items) { item in
Text(item.title)
}
.task {
await viewModel.fetchData()
}
}
}