Junior — Middle
Kako se odvija razmena podataka i interakcija između slojeva sistema prilikom kreiranja aplikacije od nule?
sobes.tech АИ
Одговор од АИ
У апликацијама за 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()
}
}