Junior — Middle
Kaip vyksta duomenų keitimas ir sąveika tarp sistemos sluoksnių pradedant nuo nulio kuriant programą?
sobes.tech AI
Atsakymas iš AI
iOS programose, sluoksnių tarpusavio sąveika paprastai kuriama pagal architektūros modelius (MVC, MVVM, VIPER ir kt.).
Duomenų mainai vyksta per:
- Modelius (Model): saugo duomenis ir verslo logiką.
- Peržiūras (View): rodo duomenis vartotojui.
- Valdiklius arba ViewModel: valdo logiką ir jungia modelį su peržiūra.
Duomenys perduodami per metodus, delegatus, closures arba reaktyvias bibliotekas (pvz., Combine, RxSwift).
Pavyzdys: ViewModel gauna duomenis iš modelio ir atnaujina View per binding arba callback.
class ViewModel {
var dataUpdated: (() -> Void)?
private var data: [String] = [] {
didSet {
dataUpdated?()
}
}
func fetchData() {
// Gauti duomenis iš modelio
data = ["Item1", "Item2"]
}
}
class ViewController: UIViewController {
let viewModel = ViewModel()
override func viewDidLoad() {
super.viewDidLoad()
viewModel.dataUpdated = { [weak self] in
// Atnaujinti UI
self?.tableView.reloadData()
}
viewModel.fetchData()
}
}