Sobes.tech
Junior — Middle

Kako se odvija razmena podataka i interakcija između slojeva sistema prilikom kreiranja aplikacije od nule?

sobes.tech АИ

Одговор од АИ

У апликацијама за iOS, интеракција између слојева обично се гради према архитектонским образцима (MVC, MVVM, VIPER итд.).

Обмена података се одвија преко:

  • Модела (Model): чувају податке и пословну логику.
  • Погледи (View): приказују податке кориснику.
  • Контролери или ViewModel: управљају логиком и повезују модел са приказом.

Податке преносе методе, делегати, closures или реактивне библиотеке (нпр. Combine, RxSwift).

Пример: ViewModel добија податке из модела и ажурира View преко binding-а или callback-а.

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()
    }
}