Junior — Middle
Как протича обменът на данни и взаимодействието между слоевете на системата при създаването на приложение от нулата?
sobes.tech AI
Отговор от AI
В приложенията за iOS взаимодействието между слоевете обикновено се изгражда според архитектурни модели (MVC, MVVM, VIPER и др.).
Обменът на данни става чрез:
- Модели (Model): съхраняват данни и бизнес логика.
- Представления (View): показват данните на потребителя.
- Контролери или ViewModel: управляват логиката и свързват модела с представлението.
Данните се предават чрез методи, делегати, closures или реактивни библиотеки (например, Combine, RxSwift).
Пример: ViewModel получава данни от модела и актуализира View чрез binding или callback.
class ViewModel {
var dataUpdated: (() -> Void)?
private var data: [String] = [] {
didSet {
dataUpdated?()
}
}
func fetchData() {
// Получаване на данни от модела
data = ["Item1", "Item2"]
}
}
class ViewController: UIViewController {
let viewModel = ViewModel()
override func viewDidLoad() {
super.viewDidLoad()
viewModel.dataUpdated = { [weak self] in
// Обновяване на UI
self?.tableView.reloadData()
}
viewModel.fetchData()
}
}