Junior — Middle
Sıfırdan bir uygulama oluştururken sistemin katmanları arasında veri alışverişi ve etkileşim nasıl gerçekleşir?
sobes.tech yapay zeka
AI'dan gelen yanıt
iOS uygulamalarında katmanlar arasındaki etkileşim genellikle mimari desenlere (MVC, MVVM, VIPER vb.) göre yapılandırılır.
Veri alışverişi şu yollarla gerçekleşir:
- Modeller (Model): verileri ve iş mantığını saklar.
- Görünümler (View): kullanıcılara verileri gösterir.
- Kontrolörler veya ViewModel: mantığı yönetir ve modeli görünümle bağlar.
Veriler metodlar, delegeler, closures veya reaktif kütüphaneler (örneğin, Combine, RxSwift) aracılığıyla iletilir.
Örnek: ViewModel, modelden veri alır ve binding veya callback aracılığıyla View'yi günceller.
class ViewModel {
var dataUpdated: (() -> Void)?
private var data: [String] = [] {
didSet {
dataUpdated?()
}
}
func fetchData() {
// Modelden veri al
data = ["Item1", "Item2"]
}
}
class ViewController: UIViewController {
let viewModel = ViewModel()
override func viewDidLoad() {
super.viewDidLoad()
viewModel.dataUpdated = { [weak self] in
// UI'yi güncelle
self?.tableView.reloadData()
}
viewModel.fetchData()
}
}