Junior — Middle
Hogyan történik az adatok cseréje és az interakció a rendszer rétegei között egy alkalmazás nulláról való létrehozásakor?
sobes.tech MI
Válasz az MI-től
Az iOS alkalmazásokban a rétegek közötti interakció általában architekturális minták szerint épül fel (MVC, MVVM, VIPER stb.).
Az adatok cseréje a következő módokon történik:
- Modellek (Model): tárolják az adatokat és az üzleti logikát.
- Nézetek (View): megjelenítik az adatokat a felhasználónak.
- Vezérlők vagy ViewModel: kezelik a logikát és összekapcsolják a modellt a nézettel.
Az adatok metódusok, delegáltak, closures vagy reaktív könyvtárak (pl. Combine, RxSwift) segítségével kerülnek átadásra.
Példa: A ViewModel adatokat szerez a modellből és a binding vagy callback segítségével frissíti a View-t.
class ViewModel {
var dataUpdated: (() -> Void)?
private var data: [String] = [] {
didSet {
dataUpdated?()
}
}
func fetchData() {
// Adatok beszerzése a modelltől
data = ["Item1", "Item2"]
}
}
class ViewController: UIViewController {
let viewModel = ViewModel()
override func viewDidLoad() {
super.viewDidLoad()
viewModel.dataUpdated = { [weak self] in
// UI frissítése
self?.tableView.reloadData()
}
viewModel.fetchData()
}
}