Junior — Middle
Kuidas toimub andmete vahetamine ja süsteemi kihtide vahelise koostöö nullist rakenduse loomisel?
sobes.tech AI
Vastus AI-lt
iOS rakendustes katmali koostöö on tavaliselt üles ehitatud arhitektuurimustrite (MVC, MVVM, VIPER jms) järgi.
Andmete vahetamine toimub läbi:
- Mudelite (Model): salvestavad andmeid ja äriloogikat.
- Vaadete (View): kuvavad andmeid kasutajale.
- Kontrollerite või ViewModel: haldavad loogikat ja ühendavad mudeli vaatega.
Andmed edastatakse meetodite, delegaatide, closures või reaktiivsete raamatukogude (näiteks, Combine, RxSwift) kaudu.
Näide: ViewModel saab andmed mudelist ja uuendab View bindingu või callbacki kaudu.
class ViewModel {
var dataUpdated: (() -> Void)?
private var data: [String] = [] {
didSet {
dataUpdated?()
}
}
func fetchData() {
// Andmete saamine mudelist
data = ["Item1", "Item2"]
}
}
class ViewController: UIViewController {
let viewModel = ViewModel()
override func viewDidLoad() {
super.viewDidLoad()
viewModel.dataUpdated = { [weak self] in
// UI uuendamine
self?.tableView.reloadData()
}
viewModel.fetchData()
}
}