Sobes.tech
Junior — Middle

Коддон баштапкы колдонмо түзүүдө системанын катмарынын ортосунда маалымат алмашуу жана өз ара аракеттенүү кандай болот?

sobes.tech AI

AIден жооп

iOS тиркемелеринде катламдар ортосундагы өз ара аракеттешүү адатта архитектуралык үлгүлөргө (MVC, MVVM, VIPER жана башка) ылайык курулат.

Маалымат алмашуу төмөнкүдөй жүргүзүлөт:

  • Моделдер (Model): маалыматтарды жана бизнес логиканы сактайт.
  • Көрсөтүүлөр (View): маалыматтарды колдонуучуга көрсөтөт.
  • Контроллерлер же ViewModel: логиканы башкарат жана модел менен көрүнүштү байланыштырат.

Маалыматтар ыкмалар, делегаттар, closures же реактивдүү китепканалар (мисалы, Combine, RxSwift) аркылуу өткөрүлөт.

Мисал: ViewModel моделден маалымат алат жана binding же callback аркылуу View'ни жаңыртат.

class ViewModel {
    var dataUpdated: (() -> Void)?
    private var data: [String] = [] {
        didSet {
            dataUpdated?()
        }
    }
    func fetchData() {
        // Моделден маалымат алуу
        data = ["Item1", "Item2"]
    }
}

class ViewController: UIViewController {
    let viewModel = ViewModel()
    override func viewDidLoad() {
        super.viewDidLoad()
        viewModel.dataUpdated = { [weak self] in
            // UI'ни жаңыртуу
            self?.tableView.reloadData()
        }
        viewModel.fetchData()
    }
}