Sobes.tech
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()
    }
}