Sobes.tech
Junior — Middle

Kaip vyksta duomenų keitimas ir sąveika tarp sistemos sluoksnių pradedant nuo nulio kuriant programą?

sobes.tech AI

Atsakymas iš AI

iOS programose, sluoksnių tarpusavio sąveika paprastai kuriama pagal architektūros modelius (MVC, MVVM, VIPER ir kt.).

Duomenų mainai vyksta per:

  • Modelius (Model): saugo duomenis ir verslo logiką.
  • Peržiūras (View): rodo duomenis vartotojui.
  • Valdiklius arba ViewModel: valdo logiką ir jungia modelį su peržiūra.

Duomenys perduodami per metodus, delegatus, closures arba reaktyvias bibliotekas (pvz., Combine, RxSwift).

Pavyzdys: ViewModel gauna duomenis iš modelio ir atnaujina View per binding arba callback.

class ViewModel {
    var dataUpdated: (() -> Void)?
    private var data: [String] = [] {
        didSet {
            dataUpdated?()
        }
    }
    func fetchData() {
        // Gauti duomenis iš modelio
        data = ["Item1", "Item2"]
    }
}

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