Sobes.tech
Junior — Middle

Ako prebieha výmena údajov a interakcia medzi vrstvami systému pri vytváraní aplikácie od začiatku?

sobes.tech AI

Odpoveď od AI

V iOS aplikáciách je interakcia medzi vrstvami zvyčajne postavená podľa architektonických vzorov (MVC, MVVM, VIPER a pod.).

Výmena dát prebieha cez:

  • Modely (Model): ukladajú dáta a biznis logiku.
  • Zobrazenia (View): zobrazujú dáta používateľovi.
  • Kontroléry alebo ViewModel: riadia logiku a spájajú model so zobrazením.

Dáta sa prenášajú cez metódy, delegáty, closures alebo reaktívne knižnice (napríklad, Combine, RxSwift).

Príklad: ViewModel získava dáta z modelu a aktualizuje View cez binding alebo callback.

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

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