Sobes.tech
Junior — Middle

Jak probíhá výměna dat a interakce mezi vrstvami systému při vytváření aplikace od začátku?

sobes.tech AI

Odpověď od AI

V aplikacích iOS je interakce mezi vrstvami obvykle založena na architektonických vzorech (MVC, MVVM, VIPER atd.).

Výměna dat probíhá přes:

  • Modely (Model): uchovávají data a obchodní logiku.
  • Zobrazení (View): zobrazují data uživateli.
  • Kontroléry nebo ViewModel: řídí logiku a spojují model se zobrazením.

Data jsou přenášena metodami, delegáty, closures nebo reaktivními knihovnami (například Combine, RxSwift).

Příklad: ViewModel získává data z modelu a aktualizuje View přes binding nebo callback.

class ViewModel {
    var dataUpdated: (() -> Void)?
    private var data: [String] = [] {
        didSet {
            dataUpdated?()
        }
    }
    func fetchData() {
        // Získání dat z modelu
        data = ["Item1", "Item2"]
    }
}

class ViewController: UIViewController {
    let viewModel = ViewModel()
    override func viewDidLoad() {
        super.viewDidLoad()
        viewModel.dataUpdated = { [weak self] in
            // Aktualizace UI
            self?.tableView.reloadData()
        }
        viewModel.fetchData()
    }
}